前端 操作数组

数组的操作

常用方法

push

  • 向数组末尾增加项

  • 返回数组新长度

  • 直接改变原数组

  • 其他实现方法:ary[ary.length]=1

pop

  • 删除数组最后一项

  • 返回被删除项

  • 直接改变原数组

  • 其他实现方法: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 }
  • 返回结果才是要查找的项,原数组不变

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值