zl程序教程

您现在的位置是:首页 >  后端

当前栏目

VUE学习笔记——es6对象合并 数组转对象

2023-06-13 09:13:41 时间

大家好,又见面了,我是你们的朋友全栈君。

测试数据

let array = [
    {name: 'Conan', age: 17, gender: true}, 
    {name: 'Ran', age: 16}, 
    {name: 'Sherry', age: 20}
];

方法一:循环

const arr = [{date: "2018-11-18", name: "demo1"}, {date: "2018-11-19", name: "demo2"}];
         const target = {};
      arr.forEach(a => {
        const source = JSON.parse(`{"${a.date}":"${a.name}"}`);//利用JSON.parse将对象
                                                              //格式直接造出来
        Object.assign(target,source);
      })
     // console.log(target)

方法二:析构函数

let result = {...array};

/* 
    {
        0:{"name":"Conan","age":17,"gender":true},
        1:{"name":"Ran","age":16},
        2:{"name":"Sherry","age":20}}
    }
*/

方法三:累加器

let result = array.reduce((accumulator, current) => {
    accumulator[current.name] = current;
    return accumulator;
}, {});

/* 
    {
        Conan: {name: "Conan", age: 17, gender: true}
        Ran: {name: "Ran", age: 16}
        Sherry: {name: "Sherry", age: 20}
    }
*/

方法四:循环

let result = {};
array.forEach((item, index) => result[item.name] = item);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/197380.html原文链接:https://javaforall.cn