先来看下题目:
将arr转化为
{0: '男', 1:'女'}
const arr = [
{ label: '男', value: 0 },
{ label: '女', value: 1 },
]
function f(arr){
// 你的代码
}
const obj = f(arr)
console.log(obj) ==> {0: '男', 1:'女'}
复制代码
方法一 (较为简单直接的写法)
function f(arr){
// 你的代码
const obj = {}
arr.forEach(item => {
obj[item.value] = item.label
});
}
const obj = f(arr)
console.log(obj) ==> {0: '男', 1:'女'}
复制代码
方法二(利用reduce的方法)
function f(arr) {
// 写代码
// reduce
return arr.reduce((acc, item) => {
acc[item.value] = item.label
return acc
}, {})
}
const obj = f(arr)
console.log(obj) ==> {0: '男', 1:'女'}
复制代码
也可以将代码写到一行
function f(arr){
return arr.reduce((acc,item) => ({...acc,[item.value]:item.label}),{})
}
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END