我的范围the_data
上有一个对象,其中有多个对象。
一个对象important_entries
里面有一个对象列表。
important_entries
内的对象都有我想要更改的特定字段 - field_I_want_to_change
。每个对象的名称都是它的ID。
我想要做的是迭代important_entries
对象及其中的每个对象,更改每个field_I_want_to_change
字段的值。
有人可能会给我一些指示,说明如何最好地完成这项工作?我可以访问下划线库,如果可以的话。
以下是我的the_data
对象的粗略蓝图,对于任何语法错误,我深表歉意。
the_data : {
some_data : {},
some_data : {},
important_entries: {
xxxccc : {
field_I_want_to_change: 'some data'
},
cccfff : {
field_I_want_to_change: 'some data'
},
tttyyy : {
field_I_want_to_change: 'some data'
},
},
some_data : {},
some_data : {}
}
答案 0 :(得分:4)
使用下划线库
var thedata = {
some_data : {},
some_data : {},
important_entries: {
xxxccc : {
field_I_want_to_change: 'some data'
},
cccfff : {
field_I_want_to_change: 'some data'
},
tttyyy : {
field_I_want_to_change: 'some data'
},
},
some_data : {},
some_data : {}
}
_.each(thedata.important_entries, function(entry) {
entry.field_I_want_to_change = "new calue"
})
如果您不确定“field_I_want_to_change”对象是否始终存在,请在_.has
之前进行一次小检查
答案 1 :(得分:2)
为什么不让你loop through javascript object 改变字段?
p = the_data['important_entries'];
for (var key in p) {
if (p.hasOwnProperty(key)) {
p[key].field_I_want_to_change = 'some data';
}
}