如何从数组中删除一个特定值? 类似 :
array.remove(value);
我必须使用核心核心核心JavaScript。 不允许框架 。
如何从数组中删除一个特定值? 类似 :
array.remove(value);
我必须使用核心核心核心JavaScript。 不允许框架 。
当前回答
如果数组含有重复的值,而您想要删除目标的所有发生点, 那么这就是前进的道路...
let data = [2, 5, 9, 2, 8, 5, 9, 5];
let target = 5;
data = data.filter(da => da !== target);
注: - 过滤器不会改变原始数组;相反它会创建一个新的数组。
所以再次分配很重要。
这又引出了另一个问题,你无法制造变数const
应该是:let
或var
.
其他回答
您可以扩展数组对象以定义自定义的删除函数如下:
let numbers = [1,2,4,4,5,3,45,9];
numbers.delete = function(value){
var indexOfTarget = this.indexOf(value)
if(indexOfTarget !== -1)
{
console.log("array before delete " + this)
this.splice(indexOfTarget, 1)
console.log("array after delete " + this)
}
else{
console.error("element " + value + " not found")
}
}
numbers.delete(888)
// Expected output:
// element 888 not found
numbers.delete(1)
// Expected output;
// array before delete 1,2,4,4,5,3,45,9
// array after delete 2,4,4,5,3,45,9
此函数从特定位置的数组中删除元素。
array.remove(position);
Array.prototype.remove = function (pos) {
this.splice(pos, 1);
}
var arr = ["a", "b", "c", "d", "e"];
arr.remove(2); // remove "c"
console.log(arr);
如果您不知道要删除的项目的位置, 请使用这个 :
array.erase(element);
Array.prototype.erase = function(el) {
let p = this.indexOf(el); // indexOf use strict equality (===)
if(p != -1) {
this.splice(p, 1);
}
}
var arr = ["a", "b", "c", "d", "e"];
arr.erase("c");
console.log(arr);
这取决于你是否想保持一个空位。
如果您想要一个空位 :
array[index] = undefined;
如果你不想空空的位子:
保留原件:
oldArray = [...array];
这将修改数组。
array.splice(index, 1);
如果您需要该项的值, 您可以保存返回的数组元素 :
var value = array.splice(index, 1)[0];
如果您想要在数组的两端删除, 您可以在最后一个或数组中使用数组. pop () 。 第一个或数组中可以使用数组. translate. pop () 。 translate () toft () for first one (两者都返回项目值 ) 。
如果您不知道项目的索引, 您可以使用数组。 indexof( 项) 来获得它( 在 if () 中获得一个项, 或者在一段时间( ) 中获取全部项 ) 。array.indexOf(item)
如果找不到的话,返回索引或 -1。
大部分答案都用...
for loop
虽然所有解决办法都应采用这些方法,但我认为我们可以使用字符串操作.
需要注意的关于这一解决办法的要点 -- --
诀窍是...
stringify
数据集和搜索值split
分隔符上的数据,
. remove = (input, value) => {
const stringVal = JSON.stringify(value);
const result = JSON.stringify(input)
return result.replace(stringVal, "").split(",");
}
这里创建了一个测试对象和数字 JSF 的 JSF 。 。 。https://jsfiddle.net/4t7zhkce/33/
检查remove
方法在小提琴中。