javascript - 简化数组里的对象
PHP中文网
PHP中文网 2017-04-11 12:15:13
[JavaScript讨论组]

由于在vue里原数据使用不灵活,想转为更为简单的数据,要怎么转,请大量指点。

原数据

    var a = [{
                "name": "pmn01",
                "value": "421-17010002"
            }, {
                "name": "pmm04",
                "value": "2017/01/14"
            }, {
                "name": "pmm09",
                "value": "A0002"
            }, {
                "name": "pmn041",
                "value": "联想手机  乐檬K10"
            }]

转换为

var a = {"pmn01": "421-17010002","pmm04": "2017/01/14","pmm09": "A0002","pmn041": "联想手机  乐檬K10"}
PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
怪我咯

如果你用lodash的话可以这样:

_.merge(... _.map(a,function(row){ var o = {}; o[row.name]=row.value;return o}))

展开的话是这样的:

var tempList = _.map(a,function(row){ 
            var o = {}; 
            o[row.name]=row.value;
            return o
    });
var data = _.merge(...tempList);
console.log(data)

至于...操作符, 用vue的一般都会用webpack或babel的吧

怪我咯
var b = {};
a.forEach(v => {b[v.name] = v.value})

原生js就能搞定。

PHP中文网
var result = a.reduce(function(prev, cur){
  prev[cur.name] = cur.value;
  return prev;
},{});
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号