删除数组中的指定元素,且不改变原数组

let arr = [1, 2, 3, 4, 5]

删除数组中的’3’,有以下几种方法:
首先是 会改变原数组的方法

  • delete array[下标]
delete arr[2]
console.log(arr)	// [1, 2, empty, 4, 5]

该方法不改变数组的length
在这里插入图片描述

  • array.splice(index,num) 第一个参数是指定元素的下标,第二个参数是删除几个
    如果数组的长度很长,第一个参数用-1或’array.length-1’就可以从后往前数来删除指定元素
arr.splice(2, 1)
console.log(arr)	// [1, 2, 4, 5]

在这里插入图片描述
然后是 不会改变原数组 的方法

  • array.slice(begin, end) begin是开始下标,为正数时从开头数起,为负数时从末尾数起,如果只有一个参数,就意味着从当前下标一直删除到最后;如果是两个参数,就是从begin下标开始到end下标,但不包括end下标的值
    slice是从数组中提取指定元素,也相当于另类的删除;第一个参数的值不能小于第二个参数
console.log(arr.slice(2))	// [3, 4, 5]
console.log(arr.slice(-2))	// [4, 5]
console.log(2, 3)	// [3]
console.log(-2, -1)	// [4]
  • 自己用js写的一个方法
 // 删除数组中的指定元素,且不改变原数组
export function remove(arr, element) {  
  let result = []  
  arr.forEach((i) => {  
    if(element !== i){  
      result.push(i)
    }  
  })
  return result
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值