如何在jquery或javascript中从两个不同的数组中查找唯一记录?

Abh*_* B. 6 javascript jquery javascript-framework

我想从两个不同的数组中获取唯一值.

JavaScript中有两个数组如下:

<script>
var a=new Array;
var b=new Array;
a={'a','b','c','d','e'}
b={'a','d','e','c'} 
</script>
Run Code Online (Sandbox Code Playgroud)

我想输出像:

new array => {'a','c','d','e'}
Run Code Online (Sandbox Code Playgroud)

如何使用JavaScript原型函数或jQuery函数从两个数组中找到唯一记录?

ale*_*lex 8

我不知道你的条款是否正确.我的唯一值是在任一数组中只出现一次的成员.根据您的示例,您似乎希望成员存在于两个数组(公共值或交集)中.

您可以使用jQuery来处理这个问题.grep()是你的朋友.

您可以在没有jQuery的情况下执行此操作,但我不确定本机filter()indexOf()方法是否具有最佳浏览器支持.

var a = ['a', 'b', 'c', 'd', 'e'],
    b = ['a', 'd', 'e', 'c'];

var common = $.grep(a, function(element) {
    return $.inArray(element, b) !== -1;
});

console.log(common); // ["a", "c", "d", "e"]
Run Code Online (Sandbox Code Playgroud)

使用下划线很容易_.intersection(arr1, arr2).

jsFiddle.