array.indexOf()
时间: 2023-10-19 15:34:55 浏览: 195
array.indexOf()是数组对象的方法,用于查询数组中某个元素的索引号。它接受一个参数作为要查询的元素,并返回该元素在数组中的索引号,如果数组中不存在该元素,则返回-1。
例如,对于数组arr = ['orange', '2016', '2016'],使用arr.indexOf('orange')将返回0,表示'orange'在数组中的索引号为0。而使用arr.indexOf('o')则返回-1,表示数组中不存在'o'这个元素。
需要注意的是,虽然String类型和Array类型都有indexOf方法,但是IE8及其以上的浏览器不支持数组的indexOf方法,只支持字符串的indexOf方法。因此,在使用indexOf方法时,需要注意浏览器的兼容性。
除了indexOf方法,还有findIndex方法可以用于查询对象类型数组中某个元素的索引号。例如,对于对象数组objList = [{name:'john'}, {name:'jack'}],可以使用findIndex方法来查找name属性为'jack'的对象在数组中的索引号。具体做法是使用箭头函数作为findIndex方法的参数,通过判断对象的属性来确定匹配条件。例如,使用objList.findIndex(obj => obj.name === 'jack')将返回1,表示匹配的对象在数组中的索引号为1。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
相关问题
array.indexof
indexOf是一个数组方法,用于查找数组中某个元素的索引号。它接受一个参数,即要查找的元素,并返回该元素在数组中的索引号,如果未找到则返回-1。
例如,在一个数组arr = ['orange', '2016', '2016']中,使用arr.indexOf('orange')将返回0,表示'orange'在数组中的索引号为0。同样,arr.indexOf('2016')将返回1,表示'2016'在数组中的索引号为1。而arr.indexOf('o')将返回-1,表示'o'在数组中未找到。
对于对象类型数组,indexOf方法无法准确找到对象元素的索引号,因为对象的存储地址不同。如果要查找对象数组中某个元素的索引号,可以使用findIndex方法,并传入一个回调函数来比较对象的属性值。回调函数返回true时,findIndex方法将返回该对象在数组中的索引号,否则返回-1。
下面是一个示例代码:
```javascript
let objList = [
{name:'john'},
{name:'jack'}
];
let a = {name:'john'};
let result = objList.findIndex(obj => obj.name === a.name);
// result = 0,表示a对象在objList数组中的索引号为0
```
参考资料:
- https://blog.csdn.net/winkay/article/details/103967868
array.indexOf
Array.indexOf() 是 JavaScript 中的一个内置方法,它用于查找数组中某个元素第一次出现的索引位置。它接受一个参数,即要查找的元素,然后返回该元素在数组中的索引值,如果没有找到则返回 -1。
例如,假设有一个数组 `arr`:
```javascript
const arr = [1, 2, 3, 4, 5];
```
我们可以使用 `indexOf()` 方法来查找某个元素的索引:
```javascript
const index = arr.indexOf(3);
console.log(index); // 输出: 2
```
在这个例子中,数字 `3` 第一次出现在数组 `arr` 的索引位置为2。
希望这能回答你的问题!如果有其他问题,请继续提问。
阅读全文