博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript数组小方法
阅读量:6034 次
发布时间:2019-06-20

本文共 1403 字,大约阅读时间需要 4 分钟。

JavaScript数组去重

  1. 数组遍历

    function unique(arr) {    var newArr = [];    for (var i = 0; i < arr.length; i++) {        if (newArr.indexOf(arr[i]) === -1) {            newArr.push(arr[i]);        }    }    return newArr;}复制代码

  2. 排序相邻去重

    function unique(arr) {    arr.sort();    var newArr = [arr[0]]    for (var i = 1; i < arr.length; i++) {        if (arr[i] !== newArr[newArr.length - 1]) {            newArr.push(arr[i])        }    }    return newArr;}复制代码

  3. 键值对比法

    function unique(arr) {    var obj = {},        newArr = [],        val,        type;    for (var i = 0; i < arr.length; i++) {        val = arr[i];        type = typeof val;        if (!obj[val]) {            obj[val] = [type];            newArr.push(val);        } else if (obj[val].indexOf(type) < 0) {            obj[val].push(type)            newArr.push(val);        }    }    return newArr;}复制代码

  4. set解构法

    function unique(arr) {    return [... new Set(arr)]}复制代码

JavaScript数组扁平化

  1. 递归

    function flatten(arr){    var res = [];    for(var i=0;i

  2. reduce

    function flatten(arr){    return arr.reduce(function(prev,item){        return prev.concat(Array.isArray(item)?flatten(item):item);    },[]);}复制代码

  3. toString

    function flatten(arr){    return arr.toString().split(',').map(function(item){        return +item;    })}复制代码

  4. 扩展运算符

    function flatten(arr){    while(arr.some(item=>Array.isArray(item))){        arr = [].concat(...arr);    }    return arr;}复制代码

转载地址:http://cjlhx.baihongyu.com/

你可能感兴趣的文章
linux在文件中查找指定字符串,然后根据查找结果来做进一步的处理
查看>>
在Oracle中删除所有强制性外键约束
查看>>
dhcp
查看>>
【R】R语言使用命令行参数 - [编程技巧(Program Skill)]
查看>>
经典算法题每日演练——第二题 五家共井
查看>>
存储过程中拼接的变量和点的问题
查看>>
ASP.NET那点不为人知的事(一)
查看>>
HTML 表格
查看>>
VMware 虚拟化编程(7) — VixDiskLib 虚拟磁盘库详解之三
查看>>
php 未实例化类调用方法的问题
查看>>
我对读计算机软件专业硕士的几点看法
查看>>
用JS写CSS
查看>>
TOJ4537: n阶行列式
查看>>
算法刷题笔记-stack-四则运算
查看>>
3.16
查看>>
Linux下arp用法
查看>>
表单文件上传与文件下载
查看>>
jquery 中prop()的使用方法
查看>>
下午考
查看>>
WKWebView
查看>>