我有以下内容:
list1 = [{letter:'A'}, {letter:'B'}, ..., {letter:'Z'}]
我想查看列表并为此list2: ['A', 'C','Z']
我想要的最终目标是结果清单:
list1 = [{letter:'A'}, {letter:'C'}, {letter:'Z'}]
我该怎么做?
我尝试迭代list1,检查是否在list2中,如果没有,则将一个元素拼接出来,但由于所有索引都发生了变化,它不起作用。拼接不是我想要的吗?我该怎么做呢?
答案 0 :(得分:3)
这里有两件事要做,所以让我们分解它们:
你有一个数组,所以过滤很简单:
list1 = [{letter:'A'}, {letter:'B'}, ..., {letter:'Z'}]
filtered = list1.filter(function (el) {
return list2.indexOf(el.letter) !== -1;
});
现在我们要为救援添加其他密钥Array.prototype.map
:
final = filtered.map(function (el) {
el.special = 'yes';
return el;
});
Array.map:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
Array.filter:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
希望有所帮助!