【发布时间】:2018-03-14 15:01:15
【问题描述】:
如何在 Javascript 中获取两个数组之间的差异 likeArray([1, 2, 3, 7], [3, 2, 1, 4, 5]);//[1,2,3]
【问题讨论】:
-
差异是什么意思?数字总和的差异?请提供更多信息。
标签: javascript arrays algorithm
如何在 Javascript 中获取两个数组之间的差异 likeArray([1, 2, 3, 7], [3, 2, 1, 4, 5]);//[1,2,3]
【问题讨论】:
标签: javascript arrays algorithm
有一个小函数可以比较两个数组并得到差异。第一个参数是您的数组,第二个参数是您要比较的数组
var array1 = [1, 2, 3, 7]
var array2 = [3, 2, 1, 4, 5]
Diff = function(a, d){
return a.filter(_=>d.indexOf(_)<0)
}
console.log(Diff(array1, array2))
console.log(Diff(array2, array1))
【讨论】:
如果您支持“较新”的浏览器,那就很容易了。
Array.prototype.diff = function (x) {
return this.filter(function (y) {
return a.indexOf(i) === -1;
});
};
那么你可以这样称呼它
[1, 2, 3, 4, 5, 6].diff([2, 4, 6]);
【讨论】: