indexOf() 使用方法(数组去重)

Posted where there is a will, there i

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。
		提示和注释
			注释:indexOf() 方法对大小写敏感!
			注释:如果要检索的字符串值没有出现,则该方法返回 -1。
		实例:
		*/

		var str="Hello world!"
		document.write(str.indexOf("Hello") + "<br />");
		document.write(str.indexOf("World") + "<br />");
		document.write(str.indexOf("world"));     

		/*
		以上代码的输出:
				0
				-1
				6
		*/         
	</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"]

  

  

以上是关于indexOf() 使用方法(数组去重)的主要内容,如果未能解决你的问题,请参考以下文章

数组去重

两种js数组去重的方法

数组去重

indexOf() 使用方法(数组去重)

Javascript中的数组去重-indexof方法

JS学习笔记——数组去重