zoukankan      html  css  js  c++  java
  • 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中,所有就起到了数组去重的效果。

  • 相关阅读:
    mysql基础知识
    项目开发步骤
    python 中的电子邮箱的操作
    django 运行python manage.py sqlall books 时报错 app has migration
    mysql报错锦集
    搭建spark中需要注意的问题
    pycharm5.0 激活方式
    python去除停用词(结巴分词下)
    Ubuntu下安装libsvm
    PCIE_DMA实例五:基于XILINX XDMA的PCIE高速采集卡
  • 原文地址:https://www.cnblogs.com/UniverseWang/p/6963681.html
Copyright © 2011-2022 走看看