在javascript中,Array实例有两种方法,
[].indexOf(searchvalue [,start])
和
[].lastIndexOf(searchvalue [,start])
如果“开始”参数未定义,则行为很奇怪:
[1,2,3].lastIndexOf(2) // 1
[1,2,3].lastIndexOf(2,undefined) // -1
[1,2,3].indexOf(2,undefined) // 1
这发生在 chrome 和 firefox 中,那么 indexOf 和 lastIndexOf 的理论是什么,以不同的方式对待“未定义”
最佳答案
array.lastIndexOf(searchElement[, fromIndex])
[1,2,3].lastIndexOf(2,undefined)
与 [1,2,3].lastIndexOf(2, 0)
相同,因此只会搜索第一个元素。[1,2,3].lastIndexOf(2, 0)
将返回 -1
。[1,2,3].lastIndexOf(1, 0)
将返回 0
。关于javascript - 当 start 未定义时,数组的 lastIndexOf 返回 -1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11928951/