Javascript中的数组去重-indexof方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,4,5,6]
它的原理非常的简单,但在这之前大家还需了解Javascript中的 indexOf()方法。
在W3CSchool它的解释是这样的
该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头
(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。
因为对大小写的区分问题还有一个小demo
var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />") //0
document.write(str.indexOf("World") + "<br />") //-1
document.write(str.indexOf("world")) //6
indexOf() 方法对大小写敏感!
如果要检索的字符串值没有出现,则该方法返回 -1。
首选用arr2来索引arr[i](单字符串),因为arr2中为空所以可以索引到arr[i]的值,但是每循环一次arr2中的值就会多起来,当索引到相同的值时
就不会添加到arr2中,所有就起到了数组去重的效果。
以上是关于Javascript中的数组去重-indexof方法的主要内容,如果未能解决你的问题,请参考以下文章