gpt4 book ai didi

javascript - 如何使用存储在另一个数组中的值从数组中删除元素

转载 作者:行者123 更新时间:2023-11-30 16:42:42 25 4
gpt4 key购买 nike

我有两个数组

var a = ['tayyar', '14march' ]; 

b = [{

"feedsource": "tayyar",
"hash": "46cc3d067df1ea7877140c67b60e9a7a"
}, {

"feedsource": "elmarada",
"hash": "a9fb75f2aa4771945ec597ecf9ae49ea"
}, {

"feedsource": "14march",
"hash": "fce7a6a87b53358c4be47507b0dc327b"
}, {

"feedsource": "tayyar",
"hash": "b85d2a9c22ac4831477de15ba24b4ac5"
}]

我想从 b 中删除其 feedsources 未在 a 中定义的对象。

到目前为止我已经尝试过了

 b.forEach(function(e) {    

var indexVal = b.indexOf(e);

if(a.indexOf(e.feedsource) ==-1){

console.log(e.feedsource);

b.splice(indexVal,1);

}
});

但它似乎不起作用,我仍然看到不应该存在的元素以及应该存在的元素被删除了。我的功能做错了什么?

最佳答案

更好的解决方案是不改变原始数组,而是创建一个新的过滤数组。幸运的是,JavaScript 提供了 .filter()来帮助你!

var c = b.filter(function(el) {
// Only keep those where the following is true
return a.indexOf(el.feedsource) > 0;
});

关于javascript - 如何使用存储在另一个数组中的值从数组中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31699268/

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