JS中数组去除重复

法一:返回新数组每个位子类型没变

function outRepeat(a){
            var hash=[],arr=[];
            for (var i = 0; i < a.length; i++) {
                hash[a[i]]!=null;
                if(!hash[a[i]]){
                    arr.push(a[i]);
                    hash[a[i]]=true;
                }
            }
            console.log(arr);
        }
        outRepeat([2,4,4,5,"a","a"]);//[2, 4, 5, "a"]

法二:类似于法一,但本农觉着法一更易于理解

function outRepeat(a){
            var hash=[],arr=[];
            for (var i = 0,elem;(elem=a[i])!=null; i++) {
                if(!hash[elem]){
                    arr.push(elem);
                    hash[elem]=true;
                }
            }
            console.log(arr);
        }
        outRepeat([2,4,4,5,"a","a"]);//[2, 4, 5, "a"]

法三:比前两个更易于理解但是返回的新数组每个位子的number类型变为string类型了!!关键时刻得处理

function outRepeat(a){
            var hash=[],arr=[];
            for (var i = 0; i < a.length; i++) {
                hash[a[i]]=null;
            }
            for(var key in hash){
                   arr.push(key);
                }
            console.log(arr);
        }
        outRepeat([2,4,4,5,"a","a"]);//["2", "4", "5", "a"]
时间: 2024-09-18 13:06:47

JS中数组去除重复的相关文章

JavaScript中数组去除重复的三种方法_javascript技巧

废话不多说了,具体方法如下所示: 方法一:返回新数组每个位子类型没变 function outRepeat(a){ var hash=[],arr=[]; for (var i = 0; i < a.length; i++) { hash[a[i]]!=null; if(!hash[a[i]]){ arr.push(a[i]); hash[a[i]]=true; } } console.log(arr); } outRepeat([2,4,4,5,"a","a"

原生js的数组除重复简单实例_javascript技巧

js对数组的操作在平常的项目中也会遇到,除去一些增加,或者减少的操作外,还有一个比较重要的操作就是数组的除重,通过数组的除重,我们可以将一个数组中存在的多个重复的数组进行清理,只留下不重复的.另外下面我介绍一种原生就s的数组除重方法. Array.prototype.check= function(){ for(var i=0;i<this.length;i++){ for(var j=i+1;j<this.length;j++){ if(this[i]==this[j]){ this.spl

excel2010中怎么去除重复值

  本文为大家介绍一下在excel2010中怎么去除重复值,下面一起来看看具体操作吧. 步骤/方法 方法一:删除重复项 方法二:数据透视表 操作过程:选取数据>[插入]>[数据透视表]>[确定]. 我们有可能面对的数据有两种,一种是单列的,另一种是多列的(包括在不同工作表内),单列的非常简单,只要将需要去除重复的那一项字段勾选就完成了,多列的就要用到多重合并:

js中数组(Array)的排序(sort)注意事项说明

 本篇文章主要是对js中数组(Array)的排序(sort)注意事项进行了说明介绍,需要的朋友可以过来参考下,希望对大家有所帮助 直接看代码吧,测试结果也贴在里面了    代码如下: var arrDemo = new Array();    arrDemo[0] = 10;  arrDemo[1] = 50;  arrDemo[2] = 51;  arrDemo[3] = 100;    arrDemo.sort(); //调用sort方法后,数组本身会被改变,即影响原数组    alert(

JS中数组Array的用法示例介绍

 这篇文章主要介绍了JS中数组Array的用法,需要的朋友可以参考下 new Array()  new Array(len)  new Array([item0,[item1,[item2,...]]]  使用数组对象的方法:  var objArray=new Array();  objArray.concact([item1[,item2[,....]]]-------------------将参数列表连接到objArray的后面形成一个新的数组并返回,原有数组不受影响.如:var arr=

JS中数组重排序方法_javascript技巧

1.数组中已存在两个可直接用来重排序的方法:reverse()和sort(). reverse()和sort()方法的返回值是经过排序后的数组.reverse()方法会反转数组项的顺序: var values=[1,2,3,4,5]; values.reverse(); alert(values); //5,4,3,2,1 在默认情况下,sort()方法按升序排列数组,sort()方法会调用每个数组项的toString()转型方法,然后比较得到字符串,确定如何排序.即使数组中的每一项都是数值,s

js中数组的引用的例子

js中数组的引用应该算是基础知识了: var arr = [1,2,3]; var arr2 = arr; arr2[0] = 5;  //此时arr和arr2都变成了[5,2,3] 我们怎么斩断这种引用呢?我所知道的有两个方法: 1.数组的slice方法 var arr = [1,2,3]; var arr2 = arr.slice(); arr2[0] = 5;  //此时arr为[1,2,3]  arr2为[5,2,3] slice方法相当于复制出来一个新数组 2.数组的concat方法

Vue.js中数组变动的检测详解_javascript技巧

前言 最近在尝试用Vue.js重构公司的现有业务代码,组件化的设计思路和MVVM的思想让我深深沉迷于其中.但是是踩到了不少坑,就比如这篇文章介绍的数组绑定后的更新检测. 相信大家都知道Observer,Watcher,vm 可谓 Vue 中比较重要的部分,检测数据变动后视图更新的重要环节.在 vue.js中$watch的用法示例 中,我们讨论了如何实现基本的 watch . 接下来,我们来看看如何实现数组变动检测. 例子: // 创建 vm let vm = new Vue({ data: {

js中数组Array的一些常用方法总结_javascript技巧

var list = new Array()是我们在js中常常写到的代码,今天就总结哈Array的对象具有哪些方法. list[0] = 0; list[1] = 1; list[2] = 2; 或者这样声明:var list = [0,1,2] 1 shift()t:删除数组的第一个元素,返回删除的值.这里是0 2 unshift(3,4):把参数加载数组的前面,返回数组的长度.现在list:中是3,4,0,1,2 3pop():删除数组的最后一个元素,返回删除的值.这里是2. 4push(3