SOURCE

// 扁平化数组
const arr = [1, 2, 3, 4, [6, 7, 8, [9]], 10]
function hanldArr(arr) {
    return arr.reduce((ret, item, index) => {
        return ret.concat(Array.isArray(item) ? hanldArr(item) : item)
    }, [])
}
// console.log(hanldArr(arr))

const obj = [
    { id: 1, name: '张三' },
    { id: 1, age: '18' },
    { id: 1, sex: '男' },
    { id: 2, name: '小红' },
    { id: 2, age: '15' }
]
var objAfter = arrayUnique(obj, 'id').map(item => [...obj].filter(i => i.id === item.id))
function arrayUnique(arr, name){
    var hash = {}
    return arr.reduce((item,next) => {
        hash[next[name]] ? '' : (hash[next[name]]) = true && item.push(next)
        return item
    }, [])
}
console.log(objAfter)

// 数据对象根据某个key值合并
// let objAfter = obj.reduce((ret, item, index) => {
//     if (ret.some(rei => { return rei.id === item.id })) {
//         ret.forEach(o => {
//             if (o.id === item.id) {
//                 Object.assign(o, item)
//             }
//         })
//         return ret
//     }
//     return ret.concat(item)
// }, [])
//  console.log(objAfter)


// 取平均值
function meanValue(arr) {
    return arr.reduce((pre, item, index, restArr) => {
        if (index === (restArr.length - 1)) {
            return (pre + item) / restArr.length
        }
        return pre + item
    }, 0)
}
// console.log(meanValue([1, 2, 3, 4, 5, 6]))
console 命令行工具 X clear

                    
>
console