JS中数组是我们较为常用的一种数据结构,本篇文章主要是介绍js中我们常见的一些删除数组中元素的方式方法,希望可以对大家有所帮助。站长不易,感兴趣的小伙伴帮忙点个广告。
数组中元素的删除通过删除的方法的不同可以分为:
- 关键字删除
- splice删除
- 特殊位置删除
关键字删除
关键字删除是通过js提供的关键字 delete
手动删除数组的某一项。 使用delete
删除掉数组中的元素后,会把该下标出的值置为undefined
,数组的长度不会变。
var arr = ['a','b','c','d']; delete arr[1]; arr; //["a", undefined × 1, "c", "d"] 中间出现两个逗号,数组长度不变,有一项为undefined
splice删除
splice
方法是js中较为常用的数组方法,它不仅仅可以实现数组的删除,也可以实现数组的替换、新增等。通过splice
方法删除的数组,数组会发生该表(长度索引也会发生改变)。这是较为常用的数组删除方法。使用删除的方法调用格式为:array.splice(index,len,[item])
。
//删除起始下标为1,长度为1的一个值(len设置1,如果为0,则数组不变) var arr = ['a','b','c','d']; arr.splice(1,1); console.log(arr); //['a','c','d']; //删除起始下标为1,长度为2的一个值(len设置2) var arr2 = ['a','b','c','d'] arr2.splice(1,2); console.log(arr2); //['a','d']
特殊位置删除
当我们只是需要删除数组的首尾数据的时候,也可以通过js的pop
或者shift
方法实现,这其实是两对对应的操作:添加与删除。
push
与pop
通过push
我们可以将元素添加到数组末尾,通过pop
将末尾元素去除并返回。
const arr = [1, 2, 3, 4, 5, 6] // 添加元素到数组末尾 arr.push(7) // arr: [1, 2, 3, 4, 5, 6, 7] // 取出数组末尾元素并返回 const pop_res = arr.pop() // arr: [1, 2, 3, 4, 5, 6], pop_res: 7
unshift
与shift
通过unshift可以将元素添加到数组首部,通过shift可去除数组头部元素并返回。
// 将元素添加到数组开头 arr.unshift(0) // arr: [0, 1, 2, 3, 4, 5, 6] // 取出数组开头元素并返回 const sft_res = arr.shift() // arr: [1, 2, 3, 4, 5, 6], sft_res = 0