Js-数组检索方法
在这里我为大家提供三种数组检索的方法:
- includes():用于确定数组中是否含有某个元素
- indexOf():检测当前值在数组中第一次出现的位置索引值
- lastIndexOf()检测当前值在数组中最后一次出现的位置索引值
这三种方法都是不会改变原数组的!
首先,我为大家讲解includes();(用于确定数组中是否含有某个元素)
查找方向:从前往后
includes的参数(item,startindex):item是你要检索的元素,startindex是你开始检索的位置。
includes的返回值:含有检索元素返回true,不含有检索元素返回false。
下面让我们来看一些实际例子:
//首先我们来定义一个数组
var fruit= ['apple', 'watermelon', 'peach', 'pear', 'orange', 'watermelon', 'banana'];
//我们用rel+数字来接收返回值
var rel1=fruit.includes('peach');
console.log(rel1);//结果为true
//当我们只写了检索元素,但没有写起始位置时【起始位置默认为0(包含0这个位置)】,会遍历数组寻找相关元素
console.log('-------我是分割线-------');
var rel2=fruit.includes('peach',3);
console.log(rel2);//结果为false
//当我们写的起始位置的值为正数且小于数组长度时,会从所写位置开始往后寻找相关元素
console.log('-------我是分割线-------');
var rel3=ftuit.includes('peach',100);
console.log(rel3);//结果为false
//当我们写的起始位置的值为正数且大于等于数组长度时,会返回false,且该数组不会被搜索
console.log('-------我是分割线-------');
var rel4=ftuit.includes('peach',-4);
console.log(rel4);//结果为false
//当我们写的起始位置的值为负数且绝对值小于数组长度时,会从所写位置开始往后寻找相关元素
console.log('-------我是分割线-------');
var rel5=ftuit.includes('peach',-100);
console.log(rel5);//结果为true
//当我们写的起始位置的值为负数且绝对值大于数组长度时,会遍历数组寻找相关索引
接着,我为大家讲解indexOf();(检测当前值在数组中第一次出现的位置索引值)
查找方向:从前往后
indexOf的参数(item,startindex):item是你要检索的元素,startindex是你开始检索的位置。
indexOf的返回值:含有检索元素返回该元素索引值(即该元素下标),不含有检索元素返回-1。
下面让我们来看一些实际例子:
//首先我们来定义一个数组
var fruit= ['apple', 'watermelon', 'peach', 'pear', 'orange', 'watermelon', 'banana'];
//我们用rel+数字来接收返回值
var rel1=fruit.indexOf('peach');
console.log(rel1);//结果为2
//当我们只写了检索元素,但没有写起始位置时【起始位置默认为0(包含0这个位置)】,会遍历数组寻找相关索引值
console.log('-------我是分割线-------');
var rel2=fruit.indexOf('peach',3);
console.log(rel2);//结果为-1
//当我们写的起始位置的值为正数且小于数组长度时,会从所写位置开始往后寻找相关索引值,没有找到则返回-1
console.log('-------我是分割线-------');
var rel3=ftuit.indexOf('peach',100);
console.log(rel3);//结果为-1
//当我们写的起始位置的值为正数且大于等于数组长度时,会返回-1,且该数组不会被搜索
console.log('-------我是分割线-------');
var rel4=ftuit.indexOf('watermelon',-6);
console.log(rel4);//结果为1
//当我们写的起始位置的值为负数且绝对值小于数组长度时,会从所写位置往后寻找相关索引值,若在查找过程中,该元素多次出现,则返回在被检索范围内第一次出现该元素的索引值
console.log('-------我是分割线-------');
var rel5=ftuit.indexOf('watermelon',-100);
console.log(rel5);//结果为1
//当我们写的起始位置的值为负数且绝对值大于数组长度时,会遍历数组寻找相关索引值
最后,我为大家讲解lastIndexOf();(检测当前值在数组中最后一次出现的位置索引值)
查找方向:从后往前
lastIndexOf的参数(item,startindex):item是你要检索的元素,startindex是你开始检索的位置。
lastIndexOf的返回值:含有检索元素返回该元素索引值(即该元素下标),不含有检索元素返回-1。
下面让我们来看一些实际例子:
//首先我们来定义一个数组
var fruit= ['apple', 'watermelon', 'peach', 'pear', 'orange', 'watermelon', 'banana'];
//我们用rel+数字来接收返回值
var rel1=fruit.lastIndexOf('watermelon');
console.log(rel1);//结果为5
//当我们只写了检索元素,但没有写起始位置时【起始位置默认为0(包含0这个位置)】,会从后往前遍历数组寻找相关索引值,若在查找过程中,该元素多次出现,则返回在被检索范围内最后一次出现该元素的索引值
console.log('-------我是分割线-------');
var rel2=fruit.lastIndexOf('watermelon',3);
console.log(rel2);//结果为1
//当我们写的起始位置的值为正数且小于数组长度时,会从所写位置开始往前寻找相关索引值
console.log('-------我是分割线-------');
var rel3=ftuit.lastIndexOf('watermelon',100);
console.log(rel3);//结果为5
//当我们写的起始位置的值为正数且大于等于数组长度时,会从后往前遍历数组寻找相关索引值
console.log('-------我是分割线-------');
var rel4=ftuit.lastIndexOf('watermelon',-6);
console.log(rel4);//结果为1
//当我们写的起始位置的值为负数且绝对值小于数组长度时,会从所写位置往前寻找相关索引值,若在查找过程中,该元素多次出现,则返回在被检索范围内第一次出现该元素的索引值
console.log('-------我是分割线-------');
var rel5=ftuit.lastIndexOf('watermelon',-100);
console.log(rel5);//结果为-1
//当我们写的起始位置的值为负数且绝对值大于数组长度时,会返回-1,且该数组不会被搜索
以上就是我提供的数组检索方法,谢谢大家阅读。