javascript中是否有函数或者使用underscore.js来创建一个在对象中包含新值的新数组? 我想先重命名我的对象的值:year:“AllYears”和fruit:“AllFruits”
MyArray1 = [{year: "2013", fruit: "banana", quantity: 1},{year: "2014", fruit: "orange", quantity: 1},{year: "2014", fruit: "banana", quantity: 2}]
我想创建一个带有新值的新MyArray2和带有MyArray1的CONCAT
MyArray2 = [{year: "AllYear", fruit: "AllFruits", quantity: 1},{year: "AllYear", fruit: "AllFruits", quantity: 1},{year: "AllYear", fruit: "AllFruits", quantity: 2}]
谢谢!
答案 0 :(得分:1)
使用Underscore的_.map
组合来创建新的数组元素,使用_.extend
来复制和修改对象。
Array2 = _.map(Array1, function(elt) {
return _.extend({}, elt, { year: "AllYear", fruit: "AllFruit" });
});
请注意,要更改值,我们不想直接执行此操作,因为它会更改Array1
中的值,因此我们需要复制每个对象,我们已经完成了使用下划线_.extend
,同时指定新值。
答案 1 :(得分:0)