javascript - 在ES6中 如何将类似这样的Object转换为Array?
高洛峰
高洛峰 2017-04-11 11:12:04
[JavaScript讨论组]

已经确定的Web API结构返回数据如下:

希望转换成,数组形式的包裹的Object,像这样:

[

{
  cat_id:5,
  cat_logo:"http://img.ctfhoko.com/public/images/03/4e/49/f94057ddbfcc0a773fd9cf8c9f48a28c920e43de.png",
  cat_name:"母婴用品",
},
{
    cat_id:5,
    cat_logo:"http://img.ctfhoko.com/public/images/03/4e/49/f94057ddbfcc0a773fd9cf8c9f48a28c920e43de.png",
    cat_name:"母婴用品",
},
{
    cat_id:5,
    cat_logo:"http://img.ctfhoko.com/public/images/03/4e/49/f94057ddbfcc0a773fd9cf8c9f48a28c920e43de.png",
    cat_name:"母婴用品",
}

]

试过Array.from(), 似乎不行...

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
怪我咯
var data = {
    "1": { cat_id:5, cat_name:"母婴用品"},
    "2": { cat_id:5, cat_name:"母婴用品"},
    "3": { cat_id:5, cat_name:"母婴用品"}
}

var array = Object.keys(data).map(function(el){
    return data[el];
});
大家讲道理

不知道有没有什么特殊的函数可以处理这个情况,不过简单点我们自己写一个也OK:

var result = {
    status: 0,
    msg: '',
    data: {
        0: {...},
        1: {...},
        2: {...},
        ...
    }
};

var arr = Object.keys(result.data).map(key=> result.data[key]);

console.log(arr);//你要的数组
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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