例如,我有一个对象数组
var arr = [];
var obj1 = {
name: apple,
color: red,
price: 2
};
var obj2 = {
name: pear,
color: green,
price: 5
};
arr.push(obj1);
arr.push(obj2);
现在我的arr
有两个对象,我想要实现的是,我想复制这个arr
,但仅限 name
的值和price
。所以我的结果应该是这样的:
arrCopy = [
{name: apple,
price: 2},
{name: pear,
price: 5}
]
目前,我只能想到循环遍历数组,提取我想要的值并将其存储到一个新对象中,将这个新对象推送到新数组中。
我的问题是,还有其他方法可以实现这一目标吗?像类似 slice
的方法方法?
最佳答案
您可以使用map
为此:
ES5
var out = arr.map(function (obj) {
return { name: obj.name, price: obj.price }
});
ES6
var out = arr.map(obj => ({ name: obj.name, price: obj.price }));
<强> DEMO
关于JavaScript,如何快速复制对象数组,但仅复制该对象中我需要的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46126832/