如何替换 javascript 中 collection 中所有 objects 的属性
how to replace properties of all objects in collection in javascript
假设我有 collection
[
{"name" : "full-name", "value" : "W. Chandry"},
{"name" : "email", "value" : "wchandry@example.org"},
{"name" : "blog", "value" : "http://example.org/blogs/wchandry"},
{"name" : "avatar", "value" : "http://example.org/images/wchandry"}
]
我想把所有"value" 属性的值改成"TBD",这样就变成了这个
[
{"name" : "full-name", "value" : "TBD"},
{"name" : "email", "value" : "TBD"},
{"name" : "blog", "value" : "TBD"},
{"name" : "avatar", "value" : "TBD"}
]
在 underscore.js 或 javascript
中实现此目标的最佳方法是什么
您可以使用 lodash.js 来实现此目的
_.merge(arr, {prop:'Val'});
_.assign(arr, {prop:'Val'});
你真的不需要下划线。您可以简单地遍历数组并更改每个对象的属性。
collection.forEach(function(item) {
item.value = 'TBD';
});
运行 示例:
var collection = [{
"name": "full-name",
"value": "W. Chandry"
}, {
"name": "email",
"value": "wchandry@example.org"
}, {
"name": "blog",
"value": "http://example.org/blogs/wchandry"
}, {
"name": "avatar",
"value": "http://example.org/images/wchandry"
}];
collection.forEach(function(item) {
item.value = 'TBD';
});
collection.forEach(function(item) {
console.log(item);
});
如果您还需要考虑类似数组的结构,您可以使用常规 for
循环或 Array.prototype.forEach 代替:
[].forEach.call(collection, function(item) {
item.value = 'TBD';
});
假设我有 collection
[
{"name" : "full-name", "value" : "W. Chandry"},
{"name" : "email", "value" : "wchandry@example.org"},
{"name" : "blog", "value" : "http://example.org/blogs/wchandry"},
{"name" : "avatar", "value" : "http://example.org/images/wchandry"}
]
我想把所有"value" 属性的值改成"TBD",这样就变成了这个
[
{"name" : "full-name", "value" : "TBD"},
{"name" : "email", "value" : "TBD"},
{"name" : "blog", "value" : "TBD"},
{"name" : "avatar", "value" : "TBD"}
]
在 underscore.js 或 javascript
中实现此目标的最佳方法是什么您可以使用 lodash.js 来实现此目的
_.merge(arr, {prop:'Val'}); _.assign(arr, {prop:'Val'});
你真的不需要下划线。您可以简单地遍历数组并更改每个对象的属性。
collection.forEach(function(item) {
item.value = 'TBD';
});
运行 示例:
var collection = [{
"name": "full-name",
"value": "W. Chandry"
}, {
"name": "email",
"value": "wchandry@example.org"
}, {
"name": "blog",
"value": "http://example.org/blogs/wchandry"
}, {
"name": "avatar",
"value": "http://example.org/images/wchandry"
}];
collection.forEach(function(item) {
item.value = 'TBD';
});
collection.forEach(function(item) {
console.log(item);
});
如果您还需要考虑类似数组的结构,您可以使用常规 for
循环或 Array.prototype.forEach 代替:
[].forEach.call(collection, function(item) {
item.value = 'TBD';
});