有没有办法在JavaScript中返回两个数组之间的差异?
例如:
var a1 = ['a', 'b'];
var a2 = ['a', 'b', 'c', 'd'];
// need ["c", "d"]
Run Code Online (Sandbox Code Playgroud)
任何建议都非常感谢.
我正在寻找一个好的算法来获取一个数组中不是另一个数组中的元素的所有元素.所以给定这些数组:
var x = ["a","b","c","t"];
var ?????????y = [???????"d","a","t","e","g"];
Run Code Online (Sandbox Code Playgroud)
我想最终得到这个数组:
var z = ["d","e","g"];
Run Code Online (Sandbox Code Playgroud)
我正在使用jquery,所以我可以利用$.each()和$.inArray().这是我提出的解决方案,但似乎应该有更好的方法.
// goal is to get rid of values in y if they exist in x
var x = ["a","b","c","t"];
var y = ["d","a","t","e","g"];
var z = [];
$.each(y, function(idx, value){
if ($.inArray(value,x) == -1) {
z.push(value);
}
});
?alert(z); // should be ["d","e","g"]
Run Code Online (Sandbox Code Playgroud)
这是代码的实际应用.有任何想法吗?