如何从数组中删除特定值?:
array.remove(value);
我使用核心JavaScript。不使用框架。
解决方案一:
你期望 array.remove(int) 的行为如何。我能想到的三种可能性是你想要的。
删除索引 i 处的数组元素:
array.splice(i, 1);
如果要从数组中删除值为“number”的每个元素:
for (var i = array.length – 1; i >= 0; i–) {
if (array[i] === number) {
array.splice(i, 1);
}
}
如果你只是想让 index i 上的元素不再存在,但是你不想其他元素的索引发生变化:
delete array[i];
解决方案二:
使用 indexOf 查找要删除的数组元素的索引,然后使用拼接删除该索引。
splice() 方法通过删除
现有元素和/或添加新元素。
const array = [2, 5, 9];
console.log(array);
const index = array.indexOf(5);
if (index > -1) { // only splice array when item is found
array.splice(index, 1); // 2nd parameter means remove one item only
}
// array = [2, 9]
console.log(array);
拼接的第二个参数是要删除的元素数。请注意,splice 会就地修改数组,并返回一个包含已删除元素的新数组。
出于完整性的原因,以下是函数。第一个函数只删除一个匹配项(即从 [2,5,9,1,5,8,5] 中删除第一个匹配项 5),而第二个函数删除所有匹配项:
function removeItemOnce(arr, value) {
var index = arr.indexOf(value);
if (index > -1) {
arr.splice(index, 1);
}
return arr;
}
function removeItemAll(arr, value) {
var i = 0;
while (i < arr.length) {
if (arr[i] === value) {
arr.splice(i, 1);
} else {
++i;
}
}
return arr;
}
// Usage
用法
console.log(removeItemOnce([2,5,9,1,5,8,5], 5))
console.log(removeItemAll([2,5,9,1,5,8,5], 5))
在 TypeScript 中,这些函数可以使用类型参数保持类型安全:
function removeItem<T>(arr: Array<T>, value: T): Array<T> {
const index = arr.indexOf(value);
if (index > -1) {
arr.splice(index, 1);
}
return arr;
}
模板简介:该模板名称为【我如何删除一个特定的项目从一个数组?】,大小是暂无信息,文档格式为.html,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【小程序教程】栏目查找您需要的精美模板。