在 JavaScript 中,数组是一种非常重要的数据结构,它可以用来存储一组数据。而对于数组的操作也是前端开发中非常常见的。在 ECMAScript 2019 中,新增了两个数组操作方法:Array.prototype.indexOf 和 Array.prototype.lastIndexOf,它们在数组查找和定位方面非常有用。
Array.prototype.indexOf 方法
Array.prototype.indexOf 方法用于查找数组中指定元素的位置,如果找到了则返回该元素的索引,否则返回 -1。该方法的语法如下:
array.indexOf(searchElement[, fromIndex])
其中,searchElement 表示要查找的元素,fromIndex 表示查找的起始位置,它是可选的。如果不指定 fromIndex,那么默认从数组的第一个元素开始查找。
下面是一个使用 Array.prototype.indexOf 方法的示例:
const arr = [1, 2, 3, 4, 5]; console.log(arr.indexOf(3)); // 输出: 2 console.log(arr.indexOf(6)); // 输出: -1
在上面的示例中,我们定义了一个数组 arr,然后使用 indexOf 方法查找元素 3 和 6 的位置。由于数组中有元素 3,因此 indexOf 方法返回了该元素的索引 2;而数组中没有元素 6,因此 indexOf 方法返回了 -1。
需要注意的是,indexOf 方法是从左往右查找数组中的元素,一旦找到就立即返回,不会继续查找。
Array.prototype.lastIndexOf 方法
Array.prototype.lastIndexOf 方法与 indexOf 方法类似,不同的是它是从数组的末尾开始查找元素的位置。该方法的语法如下:
array.lastIndexOf(searchElement[, fromIndex])
其中,searchElement 表示要查找的元素,fromIndex 表示查找的起始位置,它是可选的。如果不指定 fromIndex,那么默认从数组的最后一个元素开始查找。
下面是一个使用 Array.prototype.lastIndexOf 方法的示例:
const arr = [1, 2, 3, 4, 5, 3]; console.log(arr.lastIndexOf(3)); // 输出: 5 console.log(arr.lastIndexOf(6)); // 输出: -1
在上面的示例中,我们定义了一个数组 arr,然后使用 lastIndexOf 方法查找元素 3 和 6 的位置。由于数组中有两个元素 3,因此 lastIndexOf 方法返回了最后一个元素 3 的索引 5;而数组中没有元素 6,因此 lastIndexOf 方法返回了 -1。
需要注意的是,lastIndexOf 方法是从右往左查找数组中的元素,一旦找到就立即返回,不会继续查找。
总结
Array.prototype.indexOf 方法和 Array.prototype.lastIndexOf 方法都是非常有用的数组操作方法,它们可以帮助我们快速查找数组中指定元素的位置。在实际开发中,我们可以根据具体需求选择使用哪个方法。
如果需要从左往右查找数组中的元素,可以使用 indexOf 方法;如果需要从右往左查找数组中的元素,可以使用 lastIndexOf 方法。在使用这两个方法时,需要注意它们的语法和返回值,避免出现错误。
下面是一个使用 indexOf 和 lastIndexOf 方法的示例代码:
const arr = [1, 2, 3, 4, 5, 3]; console.log(arr.indexOf(3)); // 输出: 2 console.log(arr.lastIndexOf(3)); // 输出: 5
希望本文能够帮助大家更好地理解和使用 JavaScript 数组操作方法。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/657e3f49d2f5e1655d9104cf