indexOf()使⽤⽅法(数组去重)
对于indexOf()的⽤法⼀直停留在查第⼏个字符串,却不知道它能⽤到数组去重中,⾸先还是温顾下indexOf()的语法:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<!--
1.indexOf() ⽅法对⼤⼩写敏感!
2.如果要检索的字符串值没有出现,则该⽅法返回-1 。
-->
</head>
<body>
<script>
/*
语法:
stringObject.indexOf(searchvalue,fromindex)
searchvalue:必须。规定需检索的字符串值
fromindex:可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length -1。如省略该参数,则将从字符串的⾸字符开始检索。
说明
该⽅法将从头到尾地检索字符串 stringObject,看它是否含有⼦串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果到⼀个 searchvalue,则返回 sea
rchvalue 的第⼀次出现的位置。提⽰和注释
注释:indexOf() ⽅法对⼤⼩写敏感!
注释:如果要检索的字符串值没有出现,则该⽅法返回 -1。
实例:
*/
var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />");
document.write(str.indexOf("World") + "<br />");
document.write(str.indexOf("world"));
/*
以上代码的输出:
-
1
6
*/indexof能用于数组吗
</script>
</body>
</html>
下⾯见证奇迹的时刻数组去重的⽤法:
/*写法⼀:*/
var arr = ['C','A','A','G','G','G','D']
var newArr = []
arr = arr.sort(function(a,b){
return a > b
}).forEach(function(n){
if(newArr.indexOf(n) == -1){
newArr.push(n)
}
})
console.log(newArr);// ["A", "C", "D", "G"]
/*写法⼆:*/
var arr = ['a','c','b','d','a','b']
var arr2 = [];
for(var i = 0;i<arr.length;i++){
if(arr2.indexOf(arr[i])<0){
arr2.push(arr[i]);
}
}
arr2.sort();
console.log(arr2);//["a", "b", "c", "d"]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论