1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| //计算数组中每个元素出现的次数 const names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];
function CharacterTimes(arr) { return arr.reduce((prev, cur, i) => { if (prev.hasOwnProperty(cur)) { prev[cur]++; } else { prev[cur] = 1; } return prev }, {}) } console.log(CharacterTimes(names))
//将二维数组转化为一维 let arr = [[0, 1], [2, 3], [4, 5]]; const _arr = arr.reduce((prev, cur) => { return prev.concat(cur) }, [])
console.log(_arr)
//数组 对象 互相转换 const testData = [ { id: 1, name: 'a' }, { id: 2, name: 'b' } ]
const testData2 = { 1: { id: '1', name: 'a' }, 2: { id: '2', name: 'b' } } //将 testData 转为 testData2 形式 (数组转对象) function ArrayToObj(arr) { return arr.reduce((prev, cur) => { if (cur.id) { prev[cur.id] = cur } return prev }, {}) } const res = ArrayToObj(testData) console.log(res)
//将 testData2 转为 testData 形式 (对象转数组) function ObjToArray(obj) { return Object.keys(obj).map(key => obj[key]) } console.log(ObjToArray(testData2))
|