我读过这个问题:
在JavaScript中删除数组元素 - 删除vs splice
并且似乎splice和delete都需要元素的索引才能删除,所以当我有值时,如何轻松找到索引?
例如,如果我有一个如下所示的数组:
["test1", "test2", "test3"]
Run Code Online (Sandbox Code Playgroud)
我想删除test2.我现在正在使用的进程,我希望这不是正确的方法,使用$.each
检查数组中每个元素的值,通过进程维护一个计数器(用作索引引用),如果该值等于"test2",然后我有我的索引(以计数器的形式),然后使用splice删除它.
虽然阵列越来越大,我想这会是一个缓慢的过程,但我有什么替代方案?
您想使用splice()函数删除该项目,indexOf将在数组中找到它:
查找数组中的特定元素:(知道要删除哪个元素)
var index = array.indexOf('test2');
Run Code Online (Sandbox Code Playgroud)
完整示例:
var array = ['test1', 'test2', 'test3'];
var value_to_remove = 'test2';
array.splice(array.indexOf(value_to_remove), 1);
Run Code Online (Sandbox Code Playgroud)