JavaScript,如何快速复制对象数组,但仅复制该对象中我需要的值

标签 javascript arrays

例如,我有一个对象数组

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/

相关文章:

c - malloc 与数组,无法理解为什么这有效

javascript - 选中复选框的行表中的表单中没有复选框数据

javascript - 重置或清除 Javascript 对象的正确方法?

Java:Int Array,测量数组元素的长度

javascript - 检查数组中的字符串

c# - 如何在c#中将二维整数数组元素转换为字符串?

javascript - 防止链接拖动,但仍允许文本突出显示

php - 如何在谷歌地图中显示标记 从 mysql php 检索数据

javascript - Javascript如何知道执行函数时是否发生错误(回调)

python - 将文件加载到数组中,并用两个分隔符将其分隔两次