📅  最后修改于: 2023-12-03 15:31:43.088000             🧑  作者: Mango
在 Javascript 中,我们可以使用 splice()
方法来按指定位置删除数组项,但是如果我们想按值来删除数组项应该怎么办呢?我们需要使用以下方法:
Array.prototype.removeByValue = function(value) {
for (var i = 0; i < this.length; i++) {
if (this[i] === value) {
this.splice(i, 1);
i--;
}
}
};
这个方法使用了一个自定义的 Array
原型方法 removeByValue
来实现按值删除数组项的功能。它通过遍历数组,找到与给定值相等的项,然后使用 splice()
方法来将其从数组中删除。需要注意的是,在删除数组项之后我们需要将索引值减一,以便遍历器不会跳过下一个项。
使用此方法的示例代码如下:
var array = ['a', 'b', 'c', 'd', 'e'];
array.removeByValue('c');
console.log(array); // ["a", "b", "d", "e"]
在这个示例中,我们将 c
作为参数传递给我们的自定义 removeByValue()
方法,它将删除数组中的 c
项,并且输出新数组。
总之,使用自定义 Array
原型方法 removeByValue()
可以方便地按值删除数组项。