前端 操做数组

数组的操做

经常使用方法

push数组

  • 向数组末尾增长项code

  • 返回数组新长度排序

  • 直接改变原数组索引

  • 其余实现方法:ary[ary.length]=1字符串

popit

  • 删除数组最后一项io

  • 返回被删除项console

  • 直接改变原数组function

  • 其余实现方法:ary.length--遍历

shift

  • 删除数组第一项

  • 返回被删除的那一项

  • 直接改变原数组

unshift

  • 向数组开头增长项

  • 返回数组新长度

  • 原数组改变

splice

  • splice(n,m)从索引n开始,删除m个元素

  • splice(n)从索引n开始,删除到数组末尾

  • ary.splice(ary.length-1,0)==ary.pop()

  • splice(n,m,x)从索引n开始删除m个,用x替换删除项

  • splice(n,0,x)从索引n开始,删除0个(不删除),把x增长到n的前面

  • ary.splice(ary.length,0,x)==ary.push(x)

slice

  • slice(n,m)从索引n开始截取到m-1处

  • slice(0) 至关于赋值数组

concat 拼接

toString 转化为字符串

join(',') 按照固定符号把数组拆分

reverse 倒序数组

sort 排序数组(10之内)

  • sort(function(a,b){ return a-b })有小到大排序

  • sort(function(a,b){ return b-a })有大到小排序

forEach 遍历数组

var ary = [1, 2, 3];
ary.forEach( function ( item , index ) {} )

更好用的方法

例: var arr=[{name:1},{name:2},{name:3},{name:4}];

  • 注意:还须要处理低版本IE的朋友请忽略如下方法

增 push

arr.push({name:5});
console.log(arr);//[ { name: 1 }, { name: 2 }, { name: 3 }, { name: 4 }, { name: 5 } ]
  • 直接改变原数组

删(过滤) filter

var res=arr.filter(function (item, index) {
    return item.name!==1//过滤掉name为1的那一项
});
console.log(arr)//[ { name: 1 }, { name: 2 }, { name: 3 }, { name: 4 } ]
console.log(res)//[ { name: 2 }, { name: 3 }, { name: 4 } ]
  • 返回的新数组才是过滤好的结果,原数组不变

改 map

var obj={name:100};
var res=arr.map(function (item, index) {
    if(item.name===1){
        return obj
    }
    return item;
});
console.log(arr);//[ { name: 1 }, { name: 2 }, { name: 3 }, { name: 4 } ]
console.log(res)//[ { name: 100 }, { name: 2 }, { name: 3 }, { name: 4 } ]
  • 返回的新数组才是改变后的结果,原数组不变

查 find

var res=arr.find(function (item, index) {
    return item.name==1
})
console.log(arr)//[ { name: 1 }, { name: 2 }, { name: 3 }, { name: 4 } ]
console.log(res)//{ name: 1 }
  • 返回结果才是要查找的项,原数组不变

相关文章
相关标签/搜索