// 扁平化数组
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