数据格式转换

  • 数组转对象
let arr = [ { key: '01', value: '男' }, { key: '02', value: '女' } ]
let obj = arr.reduce((item, { key, value }) => (item[key] = value) && item || item, {})
// {01: "男", 02: "女"}
  • 间隔字符插入
let letter = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l']
'123456789'.split('').map(val => `a${val}`).join('')
// 'a1a2a3a4a5a6a7a8a9'
'123456789'.split('').map((val, index) => `${letter[index]}${val}`).join('') 
// 'a1b2c3d4e5f6g7h8i9'
  • 判断数组中对象某个属性的值是否都相等
let arr1 = [ { a:1, b:2 }, { a:1, b:3 } ]
let arr2 = [ { a:1, b:2 }, { a:2, b:3 } ]
let _arr1 = arr.map(item => item.a)
let _arr2 = _arr.map(item => item.a)
arr1.filter((item, index) => arr1.indexOf(item) === index).length // 1 都相等
arr2.filter((item, index) => arr2.indexOf(item) === index).length // 2 不都相等
let arr1 = [ { a:1, b:2 }, { a:1, b:3 } ]
let arr2 = [ { a:1, b:2 }, { a:2, b:3 } ]
let _arr1 = arr.map(item => item.a)
let _arr2 = _arr.map(item => item.a)
Array.from(new Set(_arr1)).length // 1 都相等
Array.from(new Set(_arr2)).length // 2 不都相等
  • 二维数组合并为一维数组
let arr = [ { a: [ 1, 2, 3 ] }, { a: [ 4, 5, 6 ] } ]
[].concat(...arr.map(item => item.a)) // [ 1, 2, 3, 4, 5, 6 ]

你可能感兴趣的:(数据格式转换)