在 ES10 中,新增了两个方法 Array.prototype.lastIndexOf()
和 Array.prototype.indexOf()
,分别用于获取数组中指定元素在数组中最后一次出现的位置和第一次出现的位置。这两个新特性为我们在实际开发中的数组操作提供了更多的便利。
Array.prototype.lastIndexOf()
Array.prototype.lastIndexOf()
方法可以从数组的末尾开始查找数组元素,返回指定元素在数组中最后出现的位置。如果没有找到该元素,则返回 -1。
let array = [1, 2, 3, 4, 5, 2]; let index = array.lastIndexOf(2); console.log(index); // 5
当然,lastIndexOf()
方法也可以接受第二个参数来指定查找的起始位置。
let array = [1, 2, 3, 4, 5, 2]; let index = array.lastIndexOf(2, 4); console.log(index); // 1
以上代码指定查找起始位置为索引 4,从右往左查找,最终找到了元素 2 在索引 1 处。
Array.prototype.indexOf()
Array.prototype.indexOf()
方法可以从数组的开头开始查找数组元素,返回指定元素在数组中第一次出现的位置。如果没有找到该元素,则返回 -1。
let array = [1, 2, 3, 4, 5, 2]; let index = array.indexOf(2); console.log(index); // 1
同样,indexOf()
方法也可以接受第二个参数来指定查找的起始位置。
let array = [1, 2, 3, 4, 5, 2]; let index = array.indexOf(2, 2); console.log(index); // 5
以上代码指定查找起始位置为索引 2,从左往右查找,最终找到了元素 2 在索引 5 处。
总结
通过 Array.prototype.lastIndexOf()
和 Array.prototype.indexOf()
这两个方法,我们可以更加方便地进行数组元素的查找操作。同时,这两个新特性也为我们的开发提供了更多的选择和可能性。
尤其对于一些复杂的多维数组应用场景,Array.prototype.lastIndexOf()
和 Array.prototype.indexOf()
的使用必将为我们的开发带来更多的效率和方便。
示例
-- -------------------- ---- ------- --- --- - --------------------- ------------------ --- --------- - ------------------- ----------------------- --- ------------------ --- ---------- - ----------------- -- ----- ------------------------ --- --------------- --- ----- - ------------ -- ----- ------------------- ---
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64fa0c59f6b2d6eab3147680