var b = "yellow";
b.indexOf("y",1) //0
//正常的检索从字符串的
b.indexOf("y",0) //0
b.indexOf("o",10) //-1
如果找到就返回数组的索引,没找到就返回-1,看起来没什么样子,接下来看看
var c = "2016";
c.indexOf(6) //3
c.indexOf("6") //3
这里indexOf 会做简单的类型转换,把数字转换成字符串 '2' 然后再执行。
接下来再看看number类型
var d = 2018;
d.indexOf(8) //VM150:1 Uncaught TypeError: d.indexOf is not a function
之前字符串会做隐式转换,但是namber类型不会做隐式转换
接下来就是数组了 使用最多的类型
var a = ["a","b","c","d","a","b","c","d"]
//["a", "b", "c", "d", "a", "b", "c", "d"]
a.indexOf("a",3) //4 找到的是第二个"a"
a.indexOf("a",5) //-1 找不到返回-1
var a = ["abcd","bacd","cabd","dabc"]
a.indexOf("a",2) //-1 此方法不会再每一个元素的基础上再执行indexOf()方法
lastIndexOf()是从末尾向前开始查找
返回值是从0开始的下标,没有检索到也是返回-1,
一般来说,indexOf是用来查找字符串的。
es6新增的includes()方法
includes()
方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false。
let str = ["apple", "plum", "peach" ,"banana" ,"pitaya" ,"fruits"];
console.log(str.includes("banana")); // true;
console.log(str.includes("ananas")) // false
接受两个参数,第一个参数是需要查找的元素值,第二个参数代表是从该索引开始搜索,如果为负数,那么按照 array.length + index 处的索引开始搜索,默认为0;
boolean类型( true 或 false )
[1, 2, 3].includes(2); // true
[1, 2, 3].includes(4); // false
[1, 2, 3].includes(3, 3); // false
[1, 2, 3].includes(3, -1); // true
[1, 2, NaN].includes(NaN); // true
如果第二个长度大于本身数值的长度
var arr = ['a', 'b', 'c'];
arr.includes('c', 3); //false
arr.includes('c', 100); // false
如果计算出的索引小于0时
// 数组长度是3
// array.length是 -100
// index 是 3 + (-100) = -97
var arr = ['a', 'b', 'c'];
arr.includes('a', -100); // true
arr.includes('b', -100); // true
arr.includes('c', -100); // true
大概就这么多,indexOf()方法的返回值是 第一次出现的索引位置 和 -1。而includes返回的是true和false,相比于indexOf()方法来说会简便一些
PS:注意includes方法只会找到字符串里面有没有这个字母,如果这个字母前面后者后面还有字母,那么也同样会被找到,看例子。
let str = "apple plum peach2 banana2 pitayafruits";
console.log(str.includes("banana")); // true;
console.log(str.includes("ananas")) // false
indexOf()和lastIndexOf()方法操作两个方法都接收两个参数:要查找的项和要查找的起始位置的索引。 indexOf()是从数组的开始向后查找 lastIndexOf()是从数组的末尾向前查找第一个参数:要在数组中定位的元素。第二个参数:用于开始搜索的索引。如果索引大于或等于数组的长度,则返回-1,这意味着不会搜索该数组。如果提供的索引值为...
indexOf()和lastIndexOf()的参数值
最近在看红宝书,对于inedxOf()和lastIndexOf()的第二个参数一直没有理解,也上网查了很多,不同的解释和理解。于是总结一下我在查询后所理解的结果,如理解不正确,请大佬纠正指出,非常感谢!在解释第二参数之前,先总结一下这两个位置方法。
indexOf() 表示从数组的开头(位置0)开始向后查找所要查询的内容。
lastIndexOf() 表示从数组的末尾开始向前查找所要查询的内容。
这两个位置方法:
(1)都接收两个参数(第一个参数:要
一,定义和用法
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
stringObject.indexOf(searchvalue,fromindex)
stringObject.lastIndexOf(searchvalue,frominde...
lastIndexOf()从数组后面开始往前查找第一次出现的目标数,并且返回它正常的索引值。未找到返回-1
substring(start)方法用于提取字符串中介于两个指定下标之间的字符。substring() 方法返回的子串包括start处的字符,但不包括stop处的字符。
let routes=[
meta:{title:'后台首页'},
component:'index/index'
meta:{title:'商品列表...
ECMAScript 5 为数组实例添加了两个位置方法: indexOf() 和 lastIndexOf() 。这两个方法都接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。
indexOf() 方法从数组的开头(位置 0)开始向后查找
lastIndexOf() 方法则从数组的末尾开始向前查找。
这两个方法都返回要查找的项在数组中的位置,或者在没找到的情况下返回-1。在比较第一个参数与数组中的每一项时,会使用全等操作符;也就是说,要求查找的项必须严格相等(就像使用===一样)。