数组和对象的互转

58 阅读1分钟

数组转为对象

我们有个数组 要转为一下这种格式的json 对象

   let arr = [
        {value:"1",label:"收费站"},
        {value:"2",label:"车道"},
        {value:"3",label:"流水"},
      ]
     //转为以下格式
     let obj = {
        1:"收费站",
        2:"车道",
        3:"流水"
      }

方法1

创建一个空对象利用forEach循环给对象赋值
function arrToObj(arr){
    let obj = {} ;
    arr.forEach(item=>{
        obj[item.value] = item.label
    })
   return obj
}

方法2

利用reduce将对象重新赋值给一个新对象
function Arr1ToObj(arr) {
  // 指定键名
  const obj_1 = arr.reduce((res, item) => (res[item.value] = item.label, res), {})
  return obj_1
}

后续知道了啥好方法再补充吧

image.png

对象转数组

将json对象转为数组

方法1

利用对象的 Object.keys循环对象的和map一起返回新的数组
function objToArr(obj) {
      return Object.keys(obj).map((key) => {
        return {
          value: key,
          label: obj[key],
        };
      });
    },