lastIndexOf,indexOf和数组中数值顺序问题

var number=[1,2,3,4,5,4,3,2,1]
console.log(number.lastIndexOf(5));//返回3
var number=[1,2,3,4,5,6]
console.log(number.lastIndexOf(3));//返回2
为什么调用lastIndexOf方法,返回值是2而不是3?
相对应的定义number=[6,5,4,3,2,1]
调用lastIndexof(3)方法可以返回3
难道数组中number数值排序顺序会直接影响到indexOf或者lastIndexOf的结果
比如按数值从小到大排序,调用lastIndexOf方法会转换成indexOf方法进行执行结果吗?
里面关系是怎样的?


qq_大寒_2
浏览 1828回答 3
3回答

qq_青枣工作室_0

索引从0开始的,你要这样数:第0个,第1个,第2个...var number=[1,2,3,4,5,4,3,2,1] console.log(number.lastIndexOf(5));//返回3上面返回的是4,你从0开始数,数到4就是了。 var number=[1,2,3,4,5,6] console.log(number.lastIndexOf(3));lastIndexOf是从末尾开始找,找到一个后,返回的是找到值的索引(就是number[2]=3,索引为2)。而不是从右边数第几个。indexOf是从开头找,返回的也是结果的索引。

音客

就算是用lastindexOf查找的返回的下标也是从左往右算的。并非你所欲想的从右往左额。

mooc用户18273

索引从0开始。。。第0个元素是1,这样开始数
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript