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"]

  

  

时间: 2024-08-22 08:23:41

indexOf() 使用方法(数组去重)的相关文章

数组的indexOf方法--数组去重

数组的indexOf方法 数组方法大家再熟悉不过了,却忽略了数组有 indexOf 这个方法(我个人感觉). 干说不练瞎扯淡,遇到了什么问题,注意??点又在哪里? let arr = ['orange', '2016', '2016']; arr.indexOf('orange'); //0 arr.indexOf('o'); //-1 arr.indexOf('2016'); //1 arr.indexOf(2016); //-1 这里没把例子拆的那么细,四个用例足以说明问题. arr.ind

Set以及数组去重

特点 Set本身是一个构造函数,用来生成Set数据结构 Set 类似于数组,里面的成员都是==唯一==的,没有重复的值,通过add方法向Set结构加入成员 向Set加入值的时候,不会发生类型转换,Set内部判断两个值是否不同,使用的算法叫做"Same-value-zero equality",类似于===,主要的区别是NaN等于自身,而===认为NaN不等于自身. 在Set内部,两个NaN是==相等==的 两个对象总是==不相等==的 Set实例的属性和方法 1. 属性 Set.pro

indexof实现数组去重的方法,有三个版本,一个Js版本,2个augular版本

先上Js的简化版本的数组去重,需要M层控制数据 大妈 1 var aa = [1,3,4,5,6,23,523,6,123,'1',12,'刘','刘','刘','翔',12,123,214,'1','3','刘翔','刘翔']; 2 3 function arr(arr){ 4 var result = []; 5 for (var i=0;i<arr.length;i++) { 6 if (result.indexOf(arr[i]) == -1) { 7 result.push(arr[i

Javascript中的数组去重-indexof方法

在Javascript中,有时我们会用到数组去重.我在这里给大家介绍一下本人认为最简单实用的一种方法-indexOf()去重. 1 var arr = [1,1,1,2,2,2,3,3,4,5,6,2,1]; 2 var arr2 = []; 3 for(var i = 0;i < arr.length;i++){ 4 if(arr2.indexOf(arr[i]) == -1){ 5 arr2.push(arr[i]) 6 } 7 } 8 console.log(arr2) //[1,2,3,

javaScript数组去重方法

在JAvascript平时项目开发中经常会用到数组去重的操作.这时候就要用到JS数组去重的方法了. demo1: 第一种:JS数组去重操作方法是利用遍历原数组,利用数组的indexOf()方法来来判断新数组b中是否有原数组a中的元素,如果没有的话则在b数组的后面追加上a[i],如果有的话就不执行任何操作,最后可以达到数组去重的操作. 这种方法应该是平时开发中最常用的JS数组去重的方法了,简单又实用. demo2: 第二种去重的方法比较巧妙,是定义一个空对象和一个空数组,在遍历原数组的时候来用原数

数组去重的方法总结

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>数组去重的 3种方法</title> </head> <body> <script type="text/javascript"> var demoAr = [3,4,5,5,7,2,1,4,3]; /

整理数组去重与数组排序等方法

实用且比较简单的数组排序与数组去重的方法,也较好理解: 1.数组冒泡排序: var arr=["a",3,5,2,1,4,2,3,3,3,5,5,5,4]; function sort(arr){ //让数组中的元素俩俩进行比较,实现替换: for (var i = 0; i< arr.length; i++) { for (var j = 0; j < arr.length; j++) { if (arr[j] > arr[j + 1]) { var temp =

JavaScript数组去重的四种方法

今天,洗澡的想一个有趣的问题,使用js给数组去重,我想了四种方法,虽然今天的任务没有完成,5555: 不多说,po代码: //方法一:简单循环去重    Array.prototype.unique1 = function(){                var temp = [];        for(var i=0; i < this.length; i++){            if(temp.indexOf(this[i]) == -1){                tem

几种数组去重的方法

<script type="text/javascript">window.onload=function(){ /*数组去重方法一*//*var arr=[1,1,2,545,5,15,156,1,5,15]; var arr1=[]; for(var i=0;i<arr.length;i++){ if(arr1.indexOf(arr[i])==-1){ arr1.push(arr[i]); }; }; alert(arr1); */ /*数组去重方法二*//*