3种JavaScript 对象转数组的方法

方式一:Object.values

Object.values()方法返回一个给定对象自身的所有可枚举属性值的数组,值的顺序与使用for...in循环的顺序相同 ( 区别在于 for-in 循环枚举原型链中的属性 )。

let arr = Object.values(obj); //对象转化为数组

ps:如果只需要返回作为数组,可以使用Object.keys()的方式,

Object.keys()的用法
作用:遍历对象
返回结果:返回对象中每一项key的数组

所以结合Map,也可以实现:

let arr=Object.keys(obj).map(function(i){return obj[i]}); //对象转化为数组

方式二:循环

可以直接利用循环,如for in或者forEach()等:

var arr = []; //定义数组for (var i in obj) {    arr.push(obj[i]); }
 // TODO: 待补充代码
      axios({method:'GET',url:'./data.json'}).then((res,rej)=>{
        let data = res.data.data
        console.log(data);
        let source = [
        ["全部", "2017", "2018", "2019", "2020", "2021", "2022"],
              ["小麦"],
              ["大豆"],
              ["马铃薯"],
              ["玉米"],
        ]
        for(let item in data){    //item指2017,2018...
          source[1].push(data[item].wheat)
        }

方式三:Array.from

Array.from() 方法对一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。

var arr = Array.from(Object.values(obj),x=>x);
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值