资讯专栏INFORMATION COLUMN

js数组的一些常用方法

aervon / 682人阅读

摘要:数组取差循环数组取交集利用方法取交集循环判断数组里的元素在里面有没有,有的话就放入新建立的数组中数组去重去除数组的重复成员二维数组转一维数组二维数组转为一维数组

1、数组取差

    //es6
    arryMinus (arry1,arry2){
        let a = new Set(arry1);
        let b = new Set(arry2);
        let difference = new Set([...a].filter(x => !b.has(x)));
        return Array.from(difference);
    }
    //循环
    arryMinus (arry1,arry2){
        var arr3 = new Array();
        for(var i=0; i < arry1.length; i++){
            var flag = true;
           for(var j=0; j < arry2.length; j++){
                 if(arry1[i] == arry2[j]) {
                   flag = false;
                 }
        
             }
           if(flag){
                 arr3.push(arry1[i]);
           }
       }
       return arr3;

       
    }

2、数组取交集

     //es6
    arryIntersect (arr1,arr2){
        // 利用set方法取交集
        let a = new Set(arr1);
        let b = new Set(arr2);

        let intersect = new Set([...a].filter(x => b.has(x)));
        return Array.from(intersect);
     }
    
    arryIntersect (arr1,arr2){
     //循环判断数组a里的元素在b里面有没有,有的话就放入新建立的数组中
        var ai=0, bi=0;
        var result = new Array();
        while ( ai < a.length && bi < b.length )
        {
            if      ( a[ai] < b[bi] ) { ai++; }
            else if ( a[ai] > b[bi] ) { bi++; }
            else /* they"re equal */
            {
                result.push ( a[ai] );
                ai++;
                bi++;
            }
        }
        return result;
    }

3、数组去重

     //es6
    arryUnique (array){
        // 去除数组的重复成员
        return [...new Set(array)]
    }
      arryUnique (array){
        var res = [];
        var json = {};
        for(var i = 0; i < this.length; i++){
            if(!json[this[i]]){
                res.push(this[i]);
                json[this[i]] = 1;
            }
        }
        return res;
    }

二维数组转一维数组

  // 二维数组转为一维数组
    twoArrToOneArr(arr){
        return [].concat.apply([],arr);
    }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/103507.html

相关文章

  • JS内置对象-Array数组对象一些常用方法区分

    摘要:语法添加删除项目的位置要删除的项目数量要添加的第一个元素第二个第三个返回值被删除的项目,如果有的话其中,第二个参数如果设置为,则不会删除任何项目。 第一篇篇幅太长了,自己回顾都觉得有点伤神。。以后尽量多篇少字~ 首先简单介绍Array数组对象 什么是数组: 用单独的变量名存储一系列的值 如何创建数组:(有3种方法) 1、常规方式: var gyt=new Array(); gyt[0...

    zorro 评论0 收藏0
  • js封装一些常用方法

    摘要:整理自己常用的一些封装方法数组按照指定长度拆分数组按指定长度拆分删除数组中指定元素删除数组中指定元素将小数指定到精确位置将小数字符串精确到指定位数字符串类型的小数精确到小数点第几位根据微妙时间戳获取年月日时分秒根据微妙时间戳获取年月日时分秒 整理自己常用的一些封装方法 1.数组按照指定长度拆分 // 数组按指定长度拆分 export function chunk (data, coun...

    senntyou 评论0 收藏0
  • js数组常用方法总结

    摘要:在为的位置,删除个元素,插入删了为的元素,替换为删了为的元素数组的增删改都可以用完成返回从原数组中指定开始下标到结束下标之间的项组成的新数组该方法不会改变原始数组。不传值表示克隆了除了正常用法,经常用来将对象转换为。 js 中数组的常用方法总结 arr.fill(a);//所有子元素 都改为 a; [{a: 1},{b: 2}, ...Array(8).fill({}, 0)] //...

    luckyw 评论0 收藏0
  • 深入了解JS数组常用方法

    摘要:数组作为一种重要的数据类型,除了基础的几个方法外,还有很多实用的方法也是我们的必备技能。原数组不会改变。详细语法请参考让每个人都干点啥方法对数组的每个元素执行一次提供的函数,该方法没有返回值。 数组作为一种重要的数据类型,除了基础的 pop、push、shift、unshift 几个方法外,还有很多实用的方法也是我们的必备技能。 假设我们有一队人,如下图:showImg(https:/...

    ningwang 评论0 收藏0
  • 工作中常用es6+特性

    摘要:结合工作中使用情况,简单对进行一些复习总结,包括常用的语法,等,以及短时间内要上手需要重点学习的知识点不同工作环境可能有一些差别,主要参考链接是阮一峰的博客以及外文博客阮老师大部分文章是直接翻译的这个博客简介先说一下,是一个标准化组织,他们 结合工作中使用情况,简单对es6进行一些复习总结,包括常用的语法,api等,以及短时间内要上手需要重点学习的知识点(不同工作环境可能有一些差别),...

    xcold 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<