gpt4 book ai didi

javascript - 使用所需键值列表过滤对象数组

转载 作者:行者123 更新时间:2023-12-02 15:29:27 45 4
gpt4 key购买 nike

我有一个可能如下所示的对象数组:

var arr = [{
a: 1,
b: 321,
c: 556,
d: 8
}, {
a: 1,
b: 22,
c: 21,
d: 8
}, {
a: 1,
b: 1,
c: 43,
d: 8
}, ];

另一个列表可能是:

var list = ['a', 'c', 'd'];

由于我的列表只有键 a、c 和 d,所以我想删除原始数组上 b 键的所有实例。所有这些过程都必须是动态的,因为我无法在收到这些 key 之前知道它们可能是什么。

在 JavaScript 中是否有一种简洁明了的方法来做到这一点?

最佳答案

arr.forEach(function(element)
{
for(var key in element)
{
if(list.indexOf(key) === -1)
{
delete element[key];
}
}
});

应该是不言自明的。

如果您不想修改原始数组:

arr.map(function(element)
{
element = JSON.parse(JSON.stringify(element));
for(var key in element)
{

if(list.indexOf(key) === -1)
{
delete element[key];
}
}
return element;
});

关于javascript - 使用所需键值列表过滤对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33438610/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com