实现数组与对象之间的相互转换

334 阅读1分钟

数组转对象

const arr = [{label: '男', value: 0},{label: '女', value: 1}]
function f(arr) {
  // 写代码
  // reduce
}
const obj = f(arr) // obj ===> {0: '男', 1:'女'}

代码示例

const arr = [{
            label: '男',
            value: 0
        }, {
            label: '女',
            value: 1
        }]

        function f(arr) {
            //1.创建一个空对象
            let obj = {}
           //2.用 forEach 遍历数组,此方法专门遍历数组
            arr.forEach(item => {
                obj[item['value']] = item['label']
            })
            return obj
        }
        console.log(f(arr));//{0: '男', 1: '女'}

对象转数组

const obj = { 0: '男', 1:'女'}
function f(obj) {
  // 写代码
}
const arr = f(obj) // arr ===>  [{label: '男', value: 0},{label: '女', value: 1}]

代码示例

const obj = {
            0: '男',
            1: '女'
        }

        function f(obj) {
            //1.创建一个空数组
            let arr = []
            //2.循环出每一项push进去
            for (var k in obj) {
                arr.push({
                    label: obj[k],
                    value: k
                })
            }
            return arr
        }
        console.log(f(obj));//{label: '男', value: '0'}{label: '女', value: '1'}