首页 > 小程序教程 > 我如何删除一个特定的项目从一个数组?

我如何删除一个特定的项目从一个数组?

上一篇 下一篇

如何从数组中删除特定值?:

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打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【小程序教程】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 442次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 html
  • 文件大小 暂无信息
  • 上传时间 01-18
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
单页式简历模板 微信公众平台 企业网站 微信文章 微信图片 微信素材 微信模板 html5 自适应 响应式
您可能会喜欢的其他模板