JavaScript 提出了几种从现有数组中删除元素的方法。
我们可以使用 pop() 从数组末尾删除项目,使用 shift() 从开头删除项目,或者使用 splice() 函数从中间删除项目。
让我们来讨论一下。
pop()
Array.prototype.shift() 方法用于从数组中删除最后一个元素并返回该元素:
let myArray = ["1", "2", "3", "4"]; console.log(myArray.shift());
pop() 和 shift() 方法改变数组的长度。
我们可以使用 unshift() 方法向数组添加新元素。
delete 运算符
此运算符将删除索引中指定的元素(记住从零开始计数)。
let myArray = ["1", "2", "3", "4"]; delete myArray[2]; console.log(myArray); //Output: [ "1", "2", null, "4" ]
delete 操作符实际上不会从数组中删除元素,它只是释放内存。
如果没有更多对该值的引用,则释放内存。
splice()
Array.prototype.splice() 方法用于通过删除或者替换现有项目和/或者添加新项目来更改数组的内容。
第一个参数定义开始添加或者删除元素的位置。
第二个参数定义要删除的元素数。
第三个和随后的参数是可选的;它们定义要添加到数组中的元素。
在位置 2 删除 1 个项目:
let myArray = ['a', 'b', 'c', 'd']; console.log(myArray.splice(2, 1));
splice() 与 indexOf() 结合从数组中删除一个或者多个项目。
indexOf() 搜索并删除特定元素。
该方法将返回可以在数组中找到指定元素的第一个索引,如果不存在,则返回 -1:
let myArray = ["a", "b", "c", "d"]; console.log(myArray.splice (myArray.indexOf('c'), 2));
filter()
filter() 方法创建一个新数组,与 splice() 不同。
该方法不会修改调用它的数组,而是返回一个全新的数组:
function isEven(value) { return value%2 == 0; } arr = [13, 8, 15, 31, 44]; function func() { console.log(arr.filter(isEven)); } func();
日期:2020-06-02 22:16:24 来源:oir作者:oir