JS中有关Array的splice()方法和filter()方法使用说明和心得体会

Array的splice()方法:向/从数组中添加/删除项目,然后返回被删除的项目,该方法会改变原始数组

语法:array.splice(index,amount,a,.....,b),index代表开始增加或者删除的索引,amount代表从规定的索引开始删除的对象的数量,a,.....,b从索引开始开始添加的对象,index和amount为必选参数,a,.....,b是可选参数。

//示例方法
cosnt array = ["a", "b" ,"c" ,"d" ,"f"]
array.splice(2, 2, "m", "n", "t")

浏览器打印结果显示为:["a", "b" ,"m" , "n", "t", "f"]

Array的filter()方法:创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,filter() 不会对空数组进行检测,filter() 不会改变原始数组。

提示:this.testList为js中定义的新数组,pt为循环的初始数组,新数组是由满足 item.isReach == '不合格'条件返回的 item 组成的新数组

//示例方法
this.testList = pt.filter(function (item) {
    return item.isReach == '不合格';
})

心得体会:需要循环将数组中某些满足条件目标元素删除时,在循环数组体内使用array.splice()方法无效,会导致循环数组的下标错乱;但可以使用Array的filter()方法得到解决。

//错误方法,会导致小标错乱
oldArray.forEach((item, index)=>{
  if(item.isReach != '优秀'){
      person.splice(index,1)
      index = index - 1
   }
})
//正确方法,通过使用filter(),原先数组不变,返回符合条件的数组,即可达到要求
this.newArray = oldArray.filter(function (item) {
	return item.isReach == '优秀';
})

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值