求教关于JS判断两个纯数字元素的数组有无相同元素的方法。
答案:2 悬赏:20
解决时间 2021-03-05 22:47
- 提问者网友:回憶丶初
- 2021-03-05 16:06
求教关于JS判断两个纯数字元素的数组有无相同元素的方法。求教关于JS判断两个纯数字元素的数组有无相同元素的方法。并删除其中一个数组的重复元素,并将两数组元素合并。求教了,代码思路都可以。多谢大神。
最佳答案
- 二级知识专家网友:有钳、任性
- 2021-03-05 17:28
<script>
//去重合并数组
var concat = (function(){
// concat arr1 and arr2 without duplication.
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如何合并多个数组”
//去重合并数组
var concat = (function(){
// concat arr1 and arr2 without duplication.
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如何合并多个数组”
全部回答
- 1楼网友:飘零作归宿
- 2021-03-05 19:04
用两个for循环嵌套,判断array[i]是否等于array[j]
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯