【问题标题】:setting array object value from string reference in jquery从jQuery中的字符串引用设置数组对象值
【发布时间】:2011-09-10 15:26:25
【问题描述】:

我有:

var objarray = ...
function path(path) {
    obj = this;
    var parts = path.split('.');
    while(parts.length) {
        obj = obj[parts.shift()]
    };
    return obj;
}

使用一些任意的对象数组。我想使用字符串作为参考来设置对象值的值。

类似:

objarray.item.item.path("item.price") = 12.45;

【问题讨论】:

  • @tvanfosson 抱歉,我编辑希望能更好地解释

标签: jquery arrays string object


【解决方案1】:

你不能这样做,你不能设置返回值,因为它是你的本地副本。
如果它是可变的,您可以更改它,但设置它只会更改您的本地、临时变量。

您可以执行的关闭操作是 objectarray.item.item.path['item.price'] = 12.45,这将是对可变对象的修改。

【讨论】:

  • 在您的示例中,“路径”不是数组的元素吗?就我而言,它是一个函数
  • 是的,这就是我的意思,不能按照你的方式解决,只有path是最右边的对象item才能解决
  • 如果你返回一个可变对象的引用,你可以这样做,像这样:objectarray.item.item.path('item.price').value = 12.45
猜你喜欢
  • 2015-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多