在本教程中,我们将借助示例了解 JavaScript Array indexOf() 方法。
indexOf()
方法返回数组元素出现的第一个索引,或-1如果没有找到。
示例
let languages = ["Java", "JavaScript", "Python", "JavaScript"];
// get the index of the first occurrence of "JavaScript"
let index = languages.indexOf("JavaScript");
console.log(index);
// Output: 1
indexOf() 语法
用法:
arr.indexOf(searchElement, fromIndex)
这里,arr
是一个数组。
参数:
indexOf()
方法包含:
searchElement
- 要在数组中定位的元素。fromIndex
(可选)- 开始搜索的索引。默认情况下,它是0.
返回:
- 如果元素至少出现一次,则返回数组中元素的第一个索引。
- 返回-1如果在数组中找不到元素。
注意: indexOf()
比较searchElement
数组的元素使用严格平等(类似于triple-equals 运算符或===
)。
示例 1:使用 indexOf() 方法
var priceList = [10, 8, 2, 31, 10, 1, 65];
// indexOf() returns the first occurance
var index1 = priceList.indexOf(31);
console.log(index1); // 3
var index2 = priceList.indexOf(10);
console.log(index2); // 0
// second argument specifies the search's start index
var index3 = priceList.indexOf(10, 1);
console.log(index3); // 4
// indexOf returns -1 if not found
var index4 = priceList.indexOf(69.5);
console.log(index4); // -1
输出
3 0 4 -1
注意:
- 如果fromIndex >= array.length, 数组不被搜索并且-1被退回。
- 如果从索引 < 0, index 是向后计算的。例如,-1表示最后一个元素的索引,依此类推。
示例 2:查找元素的所有出现
function findAllIndex(array, element) {
indices = [];
var currentIndex = array.indexOf(element);
while (currentIndex != -1) {
indices.push(currentIndex);
currentIndex = array.indexOf(element, currentIndex + 1);
}
return indices;
}
var priceList = [10, 8, 2, 31, 10, 1, 65, 10];
var occurance1 = findAllIndex(priceList, 10);
console.log(occurance1); // [ 0, 4, 7 ]
var occurance2 = findAllIndex(priceList, 8);
console.log(occurance2); // [ 1 ]
var occurance3 = findAllIndex(priceList, 9);
console.log(occurance3); // []
输出
[ 0, 4, 7 ] [ 1 ] []
示例 3:查找元素是否存在 else 添加元素
function checkOrAdd(array, element) {
if (array.indexOf(element) === -1) {
array.push(element);
console.log("Element not Found! Updated the array.");
} else {
console.log(element + " is already in the array.");
}
}
var parts = ["Monitor", "Keyboard", "Mouse", "Speaker"];
checkOrAdd(parts, "CPU"); // Element not Found! Updated the array.
console.log(parts); // [ 'Monitor', 'Keyboard', 'Mouse', 'Speaker', 'CPU' ]
checkOrAdd(parts, "Mouse"); // Mouse is already in the array.
输出
Element not Found! Updated the array. [ 'Monitor', 'Keyboard', 'Mouse', 'Speaker', 'CPU' ] Mouse is already in the array.
相关用法
- JavaScript Array indexOf()用法及代码示例
- JavaScript Array includes()用法及代码示例
- JavaScript Array isArray()用法及代码示例
- JavaScript Array fill()用法及代码示例
- JavaScript Array flatMap()用法及代码示例
- JavaScript Array length用法及代码示例
- JavaScript Array values()用法及代码示例
- JavaScript Array entries()用法及代码示例
- JavaScript Array find()用法及代码示例
- JavaScript Array unshift()用法及代码示例
- JavaScript Array pop()用法及代码示例
- JavaScript Array shift()用法及代码示例
- JavaScript Array some()用法及代码示例
- JavaScript Array reverse()用法及代码示例
- JavaScript Array lastIndexOf()用法及代码示例
- JavaScript Array flat()用法及代码示例
- JavaScript Array forEach()用法及代码示例
- JavaScript Array concat()用法及代码示例
- JavaScript Array join()用法及代码示例
- JavaScript Array constructor用法及代码示例
注:本文由纯净天空筛选整理自 JavaScript Array indexOf()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。