求教关于JS判断两个纯数字元素的数组有无相同元素的方法。
发布网友
发布时间:2022-04-29 14:50
我来回答
共2个回答
热心网友
时间:2022-04-24 14:18
<script>
//去重合并数组
var concat = (function(){
// concat arr1 and arr2 without plication.
var concat_ = function(arr1, arr2) {
for (var i=arr2.length-1;i>=0;i--) {
arr1.indexOf(arr2[i]) === -1 ? arr1.push(arr2[i]) : 0;
}
};
// concat arbitrary arrays.
// Instead of alter supplied arrays, return a new one.
return function(arr) {
var result = arr.slice();
for (var i=arguments.length-1;i>=1;i--) {
concat_(result, arguments[i]);
}
return result;
};
}());
$(document).ready(function(){
//假设两个数组
var array1 = [1, 2];
var array2 = [2, 4];
var array3 = concat(array1,array2);
alert(array3);//[1,2,4]
});
</script>
合并后的数组有了,再去判断是否有相同元素简单了,如果array1.lenght+array2.lenght>array3.length 就说明有相同元素
参考:segmentfault “javascript如何合并多个数组”
热心网友
时间:2022-04-24 15:36
用两个for循环嵌套,判断array[i]是否等于array[j]