JavaScript原生实现根据指定值删除数组元素
本文介绍如何在JavaScript中根据指定值删除数组元素。原生数组的splice方法仅支持通过索引删除,本文通过封装contains方法获取元素索引,结合splice实现按值删除。同时对比jQuery的inArray方法,提供原生JS解决方案及完整代码示例。
JavaScript根据值删除数组元素实现
本文通过实例讲解如何在JavaScript中根据指定值删除数组元素,供读者参考。
主要解决以下问题:
1. 判断元素是否存在于JavaScript数组中。
2. 根据指定值从数组中删除元素。
核心要点:此功能类似于jQuery中的 $.inArray() 方法。
原生splice方法与索引删除
若使用原生JavaScript删除数组元素,需借助特定函数。
splice() 方法用于删除元素,并可同时向数组添加新元素。
该方法依据数组下标(即索引)来删除元素,例如:
var arrList = ['a','b','c','d'];
arrList.splice(2,1);
alert(arrList);
当指定下标为2时,即删除值为'c'的元素。
在实际场景中,常需根据元素的“值”而非索引来删除或获取数据。若使用原生JavaScript,这较为繁琐;而jQuery通过 $.inArray() 方法可轻松实现。
封装自定义删除方法
下面为数组封装一个自定义方法。
Array.prototype.contains = function(obj) {
var i = this.length;
while (i--) {
if (this[i] === obj) {
return i; // 返回的这个 i 就是元素的索引下标,
}
}
return false;
}
var arrList = ['a','b','c','d'];
arrList.splice(arrList.contains('c'),1) // 这样就可以删除 这个元素了直接
编写如下函数:
function contains(a, obj) {
var i = a.length;
while (i--) {
if (a[i] === obj) {
return i;
}
}
return false;
}
直接调用该方法即可。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript字符与字符串操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript排序算法总结》、《JavaScript查找算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript错误与调试技巧总结》
希望本文所述内容对读者的JavaScript程序设计有所帮助。
JavaScript闭包与类(Class)的区别及适用场景对比
2026-11-05 15:48:57
JavaScript入门要学ES6吗?let与箭头函数等新特性解析
2026-11-05 14:49:16
JavaScript 8种数据类型详解:基本类型与引用类型的区别
2026-11-05 14:25:15
怎么在JavaScript中使用async/await优化Ajax异步流程
2026-11-05 13:56:15
JavaScript replace回调函数实现动态正则替换逻辑
2026-11-05 13:52:13
