代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
检索方法:includes()/ Array.isArray()/ indexOf()/ lastIndexOf()
</title>
</head>
<body>
<h1>includes方法是用于检查特定元素是包含在数组还是字符串中的方法,它主要用于确认数组或字符串中元素的存在</h1>
<h1>isArray() 方法用于判断一个对象是否为数组。
如果对象是数组返回 true,否则返回 false</h1>
<h1>indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。</h1>
<h1>lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。</h1>
<script type="text/javascript">
var arr=['potato','hello','kity','blue'];
console.log('确定数组中是否含有某个元素:'+arr.includes('hello',1));
console.log('\n');
console.log('确定传递的值是否是一个数组:'+Array.isArray(arr));
console.log('\n');
var search='red';
if (arr.indexOf(search)===-1)//插入的元素不存在
{arr.push(search);
console.log('更新后的数组为:'+arr);}
else if(arr.indexOf(search)>-1)//防止返回的下标为0,if判断为FALSE
{console.log(search+'元素已在arr数组中');}
console.log('\n');
var arr0=['potato','hello','kity','potato','blue','blue'];
var search1=arr0.indexOf('blue');//只会返回元素第一次出现的位置
console.log('元素第一次出现的位置:'+search1);
console.log('\n');
var res=[];//用于保存指定元素出现的所有下标
var arr=['a','b','g','f','l','a'];//默认逆向检索
var search2='a';
var i=arr.lastIndexOf(search2);//用于获取arr数组中search变量最后一次出现的位置
console.log('查到的第一个元素在:'+i);
while(i!==-1){
res.push(i);//从res数组的末尾添加找到的元素下标
i=(i>0?arr.lastIndexOf(search2,i-1):-1);
}
console.log('元素'+search2+'在数组中的位置为:'+res);
</script>
</body>
</html>
indexOf( )返回值只有一个,就是第一个找到的值的下标
lastIndexOf( )返回值有一个,默认是逆序查找,可以用循环语句查找所有下标