数组转换成对象
目标
将
[ { label: '男', value: 0 }, { label: '女', value: 1 } ]
转换成
{0: '男', 1:'女'}
代码实现
const arr = [
{ label: '男', value: 0 },
{ label: '女', value: 1 }
]
function f1(arr) {
return arr.reduce((obj, cur) => {
obj[cur.value] = cur.label
return obj
}, {})
}
function f2(arr) {
let obj = {}
arr.forEach(item => {
obj[item.value] = item.label
})
return obj
}
const obj1 = f1(arr) // obj ===> {0: '男', 1:'女'}
const obj2 = f2(arr) // obj ===> {0: '男', 1:'女'}
console.log(obj1)
console.log(obj2)
结果展示
对象转换成数组
目标
将
{ 0: '男', 1:'女'}
转换成
[{label: '男', value: 0},{label: '女', value: 1}]
代码实现
const obj = { 0: '男', 1:'女'}
function f(obj) {
let arr = []
for (const key in obj) {
arr.push({
label: obj[key],
value: key
})
}
return arr
}
const arr = f(obj) // arr ===> [{label: '男', value: 0},{label: '女', value: 1}]
console.log(arr)