JS中数组与对象的互相转换
一、数组转对象// 数组const arr = [{ label: '男', value: 0 },{ label: '女', value: 1 }]转成如下格式// 预期对象obj ===> {0: '男', 1:'女'}代码实现function f(arr) {// 数组的reduce方法,使数组的obj初始值为{},将数组中每一个对象所需的值,// 分别作为对象中的键与值return
·
一、数组转对象
// 数组
const arr = [
{ label: '男', value: 0 },
{ label: '女', value: 1 }
]
转成如下格式
// 预期对象
obj ===> {0: '男', 1:'女'}
代码实现
function f(arr) {
// 数组的reduce方法,使数组的obj初始值为{},将数组中每一个对象所需的值,
// 分别作为对象中的键与值
return arr.reduce((obj, item) => {
obj[item.value] = item.label
return obj
}, {})
}
const obj = f(arr)
// 简写方式
function f(arr) {
return arr.reduce((obj, item) => (obj[item.value] = item.label,obj), {})
}
const obj = f(arr)
二、对象转数组
// 对象
const obj = { 0: '男', 1: '女' }
转成如下格式
arr ===> [{label: '男', value: 0},{label: '女', value: 1}]
代码实现
function f(obj) {
let result = []
for (let key in obj) {
result.push({
label: obj[key],
value: Number(key)
})
}
return result
}
const arr = f(obj)
更多推荐
已为社区贡献2条内容
所有评论(0)