区分javascript数组中未找到的元素和索引为-1的元素
distinguish between not found element and the one with index -1 in javascript array
查找数组中元素的常用方法是使用array的indexOf()方法。当元素的索引为负时,即-1,就会出现这个问题。检查这个场景:
var arr = [];
arr[-1] = '2';
console.log(arr.indexOf('2')); // -1
console.log(arr.indexOf('unknown')); //-1
基本上,我可以实现一个解决方案来区分不存在的元素和一个索引-1(重复类似的逻辑在indexOf和返回NaN时,元素找不到),但只是好奇-是不是有现有的实现解决上面的问题?
数组不能有负下标。当你执行arr[-1] = '2'
时,你设置的是数组对象的"-1"属性。
当您执行arr.indexOf('2');
时,它实际上没有找到任何内容,因此返回-1表示"未找到元素",而不是"在索引-1处找到"。证明:
var arr = [];
arr[-2] = '2';
console.log(arr.indexOf('2')); // -1
相关文章:
- 如何索引jquery中的每个元素
- JavaScript DOM:在容器中查找元素索引
- 通过javascript中的元素索引访问eventListener中的元素
- 将页面元素索引到 JSON 对象?或者jQuery选择器它每次
- jQuery将相同的类添加到两个不同容器中的同一元素索引中
- 获取小元素索引直到数组长度
- jQuery获取元素索引,尽管包装器/父元素
- 更改数组中某些元素(索引)的顺序
- 访问具有公共类名的元素数组中的元素索引
- 访问循环的内部的ES6数组元素索引
- 列表类元素(索引).渐变(某些速度)不起作用
- javascript中的表单元素索引,用于jquery.change函数
- 获取文本块中的元素索引
- 用主干JS .get模型事件连接元素索引
- 从81个元素索引的数组中获取行和列值
- 如何使用javascript获得元素索引
- 使用类和子类获取元素索引
- Mootools从父元素获取子元素索引
- 如何在Javascript中获得一组固定元素的元素索引
- 使用jQuery更改列表元素索引