将多个数组按索引排列成对象格式
emmm… 我也不知道这叫个啥需求
就是
将这样
生成这样
function repeat (arr, index, obj, title) {
arr.forEach((item, i) => {
if (i === index) {
obj[title] = item
}
})
}
function sort (arr1, arr2, arr3, arr4) {
let arr = []
arr1.forEach((item,i) => {
let o = {}
o.id = item
this.repeat(arr2, i, o, 'date')
this.repeat(arr3, i, o, 'str')
this.repeat(arr4, i, o, 'name')
arr.push(o)
})
return arr
}
let id = [1,2,3]
let date = ['2018', '2019', '2020']
let str = ['x', 'y', 'z']
let name = ['a', 'b', 'c']
console.log(sort(id, date, str, name))
反过来
渲染图表的时候可以用得到吧
就是将这样
生成这样
function toObj (arr) {
let obj = {
id: [],
date: [],
str: [],
name: []
}
arr.forEach((item, i) => {
obj.id.push(item.id)
obj.date.push(item.date)
obj.str.push(item.str)
obj.name.push(item.name)
})
return obj
}
let info = [
{ id: 1, date: '2018', str: 'x', name: 'a'},
{ id: 2, date: '2019', str: 'y', name: 'b'},
{ id: 3, date: '2020', str: 'z', name: 'c'}
]
console.log(this.toObj(info))
貌似可复用性不太高
应该有更高级的写法
随便啦
写着玩儿的