数组去重
来源:互联网 发布:unity3d settexture 编辑:程序博客网 时间:2024/06/07 10:32
es6:
var arr = [1,2,2,3]var uniqueArr=[...new Set(arr)]//1,2,3
function unique1(array){ var n = []; //一个新的临时数组 //遍历当前数组 for(var i = 0; i < array.length; i++){ //如果当前数组的第i已经保存进了临时数组,那么跳过, //否则把当前项push到临时数组里面 if (n.indexOf(array[i]) == -1) n.push(array[i]); } return n; }
循环遍历嵌套数组
function getArray(arr){ var arrs=[]; for(var i=0;i<arr.length;i++){ if(!Array.isArray(arr[i])){ arrs.push(arr[i]) }else{ arrs=arrs.concat(getArray(arr[i])) } } return arrs}//法二var arr=[1,[2,[5,6],{value:'ddd'}],4],result=[]function getArray(arr,result){ var temp; for(var i=0;i<arr.length;i++){ temp=arr[i] if(Array.isArray(temp)){ getArray(temp,result) }else{ result.push(temp) } }}getArray(arr,result)
对象克隆
function clone(Obj) {var buf; if (Obj instanceof Array) { buf=Array.prototype.slice.call(Obj) return buf;} else if (Obj instanceof Object){ buf = {}; // 创建一个空对象 for (var k in Obj) { // 为这个对象添加新的属性 buf[k] = clone(Obj[k]); } return buf;}else{ return Obj;}}
深度克隆
function deepClone(obj){ var _toString=Object.prototype.toString; if(!obj||typeof obj!=='object'){ return obj;//空数组,null,undefined,function } if(obj.nodeType&&'clone' in obj){ return obj.cloneNode(true) } if(_toString.call(obj)==='[object Date]'){ return new Date(obj.getTime()) } if(_toString.call(obj)==='[object RegExp]'){ var flags=[]; if(obj.global){flags.push('g')} if(obj.multiline){flags.push('m')} if(obj.ignoreCase){flags.push('i')} return new RegExp(obj.source,flags.join('')) } var result=Array.isArray(obj)?[]:obj.constructor?new obj.constructor():{}//new Boolean() for(var key in obj){ result[key]=deepClone(obj[key]); } return result;}
求数组最大数
Math.max.apply(null,arr)
Array.prototype.reduce=function(callback,initialValue){ var previous,k if(initialValue){ previous=initialValue; k=0 }else{ previous=this[0]; k=1 } if(typeof callback=='function'){ for(k;k<this.length;k++){ this.hasOwnProperty(k) && previous=callback(previous,this[k],k,this) } } return previous}
0 0
- 数组去数组重
- 数组去重,json数组去重
- 数组去重
- 数组去重
- JS 数组去重
- 数组去重算法
- 数组去重
- js数组去重
- php 数组去重
- 数组去重
- 数组排序去重
- javascript数组去重
- json数组去重
- 数组去重
- php数组去重
- 数组如何去重
- iOS 数组去重
- 动态数组去重
- 201604-4(游戏)
- 文章标题
- vim 退格键(backspace)不能用
- Android中Fragment的使用
- Python中拷贝问题
- 数组去重
- 记阿里前端第一次电面(蚂蚁金服)
- java中的堆和栈的区别
- Switch能否用String做参数?
- CTS设置与取消
- SD卡状态的监听
- php7 安装扩展 phpize 没有生成configure文件
- failed to render and update auto layout status for....
- 如何处理PHP和MYSQL的并发以及优化