一、数组转对象

// 数组
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) 
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐