zoukankan      html  css  js  c++  java
  • 数组去重,可带参数

    const  aa = [
        {name:'aaa',age:1},
        { name: 'bbb', age: 2 },
        { name: 'cccc', age: 3 },
        { name: 'aaa', age: 1 },
        { name: 'bbb', age: 5 },
        { name: 'aaa', age: 6 }
    ]
    nosameArr(arrNum,'age')
    /**
     * 去重 
     * arg[0]  Array  需要去重的数组
     * arg[1]    需要去重的key
     * return [Array]
     */
    function nosameArr(){
        let args = Array.prototype.slice.call(arguments)
        let key = args[1]
        return args[0].reduce((pre, cur, index, arr) => {
            if (typeof key == 'undefined') {
                if (JSON.stringify(pre).indexOf(JSON.stringify(cur)) < 0) {
                    // console.log(pre, cur)
                    return pre.concat(cur)
                } else {
                    return pre
                }
            }
            if (pre.length == 0){
                return pre.concat(cur)
            }
            for (let i in pre) {
                if (pre[i][key] != cur[key]){
                    return pre.concat(cur)
                }else{
                    return pre
                }
            }
        }, [])
    }
  • 相关阅读:
    第二题
    第一题
    biancheng
    用泰勒展开式计算sin
    矩阵求和
    1
    ti
    实验10
    实验9
    实验8
  • 原文地址:https://www.cnblogs.com/chenlw/p/12691658.html
Copyright © 2011-2022 走看看