如何在javascript中拼接项目列表?

时间:2015-05-27 00:09:30

标签: javascript

我有以下内容:

list1 = [{letter:'A'}, {letter:'B'}, ..., {letter:'Z'}]

我想查看列表并为此list2: ['A', 'C','Z']

中的所有值添加“特殊”键值:“是”

我想要的最终目标是结果清单:

list1 = [{letter:'A'}, {letter:'C'}, {letter:'Z'}]

我该怎么做?

我尝试迭代list1,检查是否在list2中,如果没有,则将一个元素拼接出来,但由于所有索引都发生了变化,它不起作用。拼接不是我想要的吗?我该怎么做呢?

1 个答案:

答案 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

希望有所帮助!