下面的功能如何适应搜索二维数组?我无法弄清楚。我需要以下示例来生成'[“sainsburys”]'。
由于
Array.prototype.diff = function(a) {
return this.filter(function(i) {return !(a[0].indexOf(i[0]) > -1);});
};
var oldSupermarkets = [["asda"], ["tesco"], ["sainsburys"]];
var newSupermarkets = [["asda"], ["tesco"]];
答案 0 :(得分:1)
这样做你想要的:
Array.prototype.diff = function(a) {
var b = a.map(function(x) { return x[0]; });
return this.filter(function(x) { return b.indexOf(x[0]) == -1; });
};
如果您告诉我们这些二维数组所代表的内容,我可以给您一个更准确的答案 - 如果内部数组有多个项目,它会是什么意思。目前它们看起来不必要,您只需将它们展平并使用一维diff
函数。