当尝试在 JavaScript 数组中定位元素的多个实例(例如“Nano”)时,方法像 jQuery.inArray 或 .indexOf() 都不够,因为它们只识别最后一个
var Cars = ["Nano", "Volvo", "BMW", "Nano", "VW", "Nano"];
解决方案如下:
.indexOf() 方法允许指定起始索引,使您能够循环遍历数组并精确定位指定值的所有实例。
<code class="javascript">function getAllIndexes(arr, val) { var indexes = [], i = -1; while ((i = arr.indexOf(val, i + 1)) != -1) { indexes.push(i); } return indexes; } var indexes = getAllIndexes(Cars, "Nano");</code>
然而,正如 VisioN 在评论中指出的那样,简单的 for 循环提供了更高效和简洁的方法解决方案:
<code class="javascript">function getAllIndexes(arr, val) { var indexes = [], i; for (i = 0; i < arr.length; i++) { if (arr[i] === val) { indexes.push(i); } } return indexes; }</code>
以上是如何查找 JavaScript 数组中某个元素的所有出现次数?的详细内容。更多信息请关注PHP中文网其他相关文章!