在Node.js中找到两个数组中匹配的字符串的最有效和优雅的方法

时间:2014-04-15 09:08:58

标签: javascript arrays node.js

我有2个字符串数组:

var X = ['A', 'B', 'C'],
    Y = ['B', 'C', 'D'];

我需要创建一个数组Z,这样Z =A∩B

Z = ['B', 'C'];

Z包含XY中的字符串。

我这样做了:

A.forEach(function(i) {
  B.forEach(function(j) {
    if (i === j) Z.push(i);
  });
});

有任何建议/意见吗?

1 个答案:

答案 0 :(得分:2)

我最好使用filter方法:

['A', 'B', 'C'].filter(function(c) {
    return ['B', 'C', 'D'].indexOf(c) > -1;
});