JS合并多个数组去重算法
2024-09-05 02:06:29
- var arr1 = ['a','b'];
- var arr2 = ['a','c','d'];
- var arr3 = [1,'d',undefined,true,null];
- //合并两个数组,去重
- var concat_ = function(arr1,arr2){
- //不要直接使用var arr = arr1,这样arr只是arr1的一个引用,两者的修改会互相影响
- var arr = arr1.concat();
- //或者使用slice()复制,var arr = arr1.slice(0)
- for(var i=0;i<arr2.length;i++){
- arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0;
- }
- return arr;
- }
- //合并多个数组,去重
- var concat = function(arr1,arr2,arr3){
- if(arguments.length <= 1){
- return false;
- }
- var concat_ = function(arr1,arr2){
- var arr = arr1.concat();
- for(var i=0;i<arr2.length;i++){
- arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0;
- }
- return arr;
- }
- var result = concat_(arr1,arr2);
- for(var i=2;i<arguments.length;i++){
- result = concat_(result,arguments[i]);
- }
- return result;
- }
- //合并多个数组,去重,排序
- var arr1 = [1,6,4,0];
- var arr2 = [8,20,7,4.5];
- var arr3 = [6,0,7,90,2];
- var concat = function(arr1,arr2,arr3){
- if(arguments.length <= 1){
- return false;
- }
- var concat_ = function(arr1,arr2){
- var arr = arr1.concat();
- for(var i=0;i<arr2.length;i++){
- arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0;
- }
- return arr;
- }
- var result = concat_(arr1,arr2);
- for(var i=2;i<arguments.length;i++){
- result = concat_(result,arguments[i]);
- }
- //排序
- function sortNumber(a,b){
- return a - b;
- }
- return result.sort(sortNumber);
- }
//查找两个数组的重复项
代码如下:
var desk=function(arr1,arr2){
var arr=[];
for(var i=0;i<arr2.length;i++){
if(arr1.indexOf(arr2[i])!==-1){
arr.push(arr2[i]);
}
}
return arr;
};
var a=desk([1,2,4,5,6,7,8],[2,3,4,5,7,8]);
console.log(a); //[2,4,6,7,8]
var desk=function(arr1,arr2){
var arr=[];
for(var i=0;i<arr2.length;i++){
if(arr1.indexOf(arr2[i])!==-1){
arr.push(arr2[i]);
}
}
return arr;
};
var a=desk([1,2,4,5,6,7,8],[2,3,4,5,7,8]);
console.log(a); //[2,4,6,7,8]
最新文章
- 第二讲(核心c#)
- Windows64 系统下Python、NumPy与matplotlib 安装方法
- 转!!JavaBean,List,Map转成json格式
- 增强学习贪心算法与Softmax算法
- js获取时间搓
- 【转】使用GDB调试Coredump文件
- DWZ 刷新 dialog
- Sqlserver系列(二) 模糊查询 like
- GrideView合并列合并序号,隐藏某列按钮
- jstack命令使用
- 游标遍历所有数据库循环执行修改数据库的sql命令
- set类型
- I2C(二) linux2.6
- [C++]Linux之虚拟文件系统[/proc]中关于CPU/内存/网络/内核等的一些概要性说明
- 770. Basic Calculator IV
- The Little Prince-summary
- CentOS增加用户到sudo用户组
- 配置nginx到后端服务器负载均衡
- 初级 Web 开发人员的 Tomcat
- Oracle Submit Request - 请求的调用方法: FND_REQUEST.SUBMIT_REQUEST