将一个对象属性拆成两个个对象放到数组中?

新手上路,请多包涵
const obj = { 0: '男', 1:'女'}
function f(obj) {
  // 写代码
}
const arr = f(obj) // arr ===>  [{label: '男', value: 0},{label: '女', value: 1}]
阅读 3.2k
3 个回答
const obj = { 0: '男', 1:'女'};
Object.entries(obj).map(([value,label])=>({label,value}));
//[{label: "男", value: "0"},{label: "女", value: "1"}]

遍历对象属性,push到一个新数组就OK了

function SplitA(object) {
    if (object.constructor !== Object) return null
    const arr = []
    for (const key in object) {
      if (Object.hasOwnProperty.call(object, key)) {
        const newObj = {}
        newObj['label'] = object[key]
        newObj['value'] = key
        arr.push(newObj)
      }
    }
    return arr
  }
function f(obj) {
                return Object.keys(obj).reduce((result, key) => {
                    result.push({label: obj[key], value: key});
                    return result;
                }, [])
            }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题