JS删除数组中某个元素的方式有哪些

前端开发   发布日期:2023年07月28日   浏览次数:480

本篇内容主要讲解“JS删除数组中某个元素的方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS删除数组中某个元素的方式有哪些”吧!

第一种:删除最后一个元素

slice 删除

  1. var arr = [1,2,3,4,5]
  2. var new_arr = arr.slice(0, -1)
  3. // arr => [1,2,3,4,5]
  4. // new_arr => [1,2,3,4]
  5. var arr = [1,2,3,4,5]
  6. var new_arr = arr.slice(0, arr.length - 1)
  7. // arr => [1,2,3,4,5]
  8. // new_arr => [1,2,3,4]

splice 删除

  1. var arr = [1,2,3,4,5]
  2. var new_arr = arr.splice(-1)
  3. // arr => [1,2,3,4]
  4. // new_arr => [5]
  5. var arr = [1,2,3,4,5]
  6. var new_arr = arr.splice(-1, 1)
  7. // arr => [1,2,3,4]
  8. // new_arr => [5]
  9. var arr = [1,2,3,4,5]
  10. var new_arr = arr.splice(arr.length - 1)
  11. // arr => [1,2,3,4]
  12. // new_arr => [5]
  13. var arr = [1,2,3,4,5]
  14. var new_arr = arr.splice(arr.length - 1, 1)
  15. // arr => [1,2,3,4]
  16. // new_arr => [5]

pop 删除

  1. var arr = [1,2,3,4,5]
  2. arr.pop()
  3. // arr => [1,2,3,4]

for 删除

  1. var arr = [1,2,3,4,5]
  2. var new_arr = []
  3. for (let i = 0, len = arr.length; i < len; i++) {
  4. if (i < len - 1) {
  5. new_arr.push(arr[i])
  6. }
  7. }
  8. // arr => [1,2,3,4,5]
  9. // new_arr => [1,2,3,4]

length 删除

  1. var arr = [1,2,3,4,5]
  2. arr.length = arr.length - 1
  3. // arr => [1,2,3,4]

第二种:删除第一个元素

slice 删除

  1. var arr = [1,2,3,4,5]
  2. var new_arr = arr.slice(1)
  3. // arr => [1,2,3,4,5]
  4. // new_arr => [2,3,4,5]

splice 删除

  1. var arr = [1,2,3,4,5]
  2. var new_arr = arr.splice(0, 1)
  3. // arr => [2,3,4,5]
  4. // new_arr => [1]

shift 删除

  1. var arr = [1,2,3,4,5]
  2. arr.shift()
  3. // arr => [2,3,4,5]

第三种:删除数组中某个指定元素

filter 删除

  1. var arr = [1,2,3,4,5],
  2. element = 2
  3. arr = arr.filter(item => item != element)
  4. // arr => [1,3,4,5]

splice 删除

  1. var element = 2,
  2. arr = [1,2,3,4,5]
  3. arr.splice(arr.indexOf(2), 1)
  4. // arr => [1,3,4,5]

forEach、map、for 删除

  1. var arr = [1,2,3,4,5],
  2. element = 2,
  3. new_arr = []
  4. arr.forEach(item => (item != element && new_arr.push(item)))
  5. // new_arr => [1,3,4,5]
  6. // map 同理
  7. var arr = [1,2,3,4,5],
  8. element = 2,
  9. new_arr = []
  10. for (let i = 0; i < arr.length; i++) {
  11. arr[i] != element && new_arr.push(arr[i])
  12. }
  13. // new_arr => [1,3,4,5]

set 删除

  1. var arr = [1,2,3,4,5],
  2. element = 2
  3. var new_set = new Set(arr)
  4. new_set.delete(element)
  5. var new_arr = [...new_set]
  6. // new_arr => [1,3,4,5]

第四种:删除数组中指定下标的元素

splice 删除

  1. var delete_index = 2
  2. var arr = [1,2,3,4,5]
  3. // arr => [1,2,3,4,5]
  4. var new_arr = arr.splice(delete_index, 1)
  5. // new_arr => [3]
  6. // arr => [1,2,4,5]

for 删除

  1. var delete_index = 2,
  2. arr = [1,2,3,4,5],
  3. new_arr = []
  4. for (let i = 0, len = arr.length; i < len; i++) {
  5. if (i != delete_index) {
  6. new_arr.push(arr[i])
  7. }
  8. }
  9. // arr => [1,2,3,4,5]
  10. // new_arr => [1,2,4,5]

注意:

1. 不可以使用 delete 方式删除数组中某个元素,此操作会造成稀疏数组,被删除的元素的位置依然存在,为 empty,且数组的长度不变。

2. 不可以使用 forEach 方法比对数组的下标值,因为 forEach 在循环的时候是无序的。

以上就是JS删除数组中某个元素的方式有哪些的详细内容,更多关于JS删除数组中某个元素的方式有哪些的资料请关注九品源码其它相关文章!