我一直在我的Google应用脚本中使用此library,特别是Unique功能。
到目前为止,这已经完成了我的要求,如果我有两个数组,如:
[1,2,3]
和[2,3,4]
,我一直在使用array1.concat(array2)
并使用唯一函数,它将返回[1,2,3,4]。
如何检索我的示例中的唯一值[1,4]
?
答案 0 :(得分:3)
尝试以下函数,它将返回不同,唯一和重复元素的对象。
var a = [1,2,3], b = [2,3,4];
var c = a.concat(b);
function arrays( array ) {
var distinct = [], unique = [], repeated = [], repeat = [];
array.forEach(function(v,i,arr) {
arr.splice(i,1);
( distinct.indexOf(v) === -1 ) ? distinct.push(v) : repeat.push(v);
( arr.indexOf(v) === -1 ) ? unique.push(v) : void 0;
arr.splice(i,0,v);
});
repeat.forEach(function(v,i,arr) {
( repeated.indexOf(v) === -1 ) ? repeated.push(v) : void 0;
});
repeat = [];
return {
"distinct" : distinct,
"unique" : unique,
"repeated" : repeated
};
}
console.log(arrays(c));
在您的情况下,您将获得所需的结果,例如console.log(arrays(c).unique)
[1,4]