方式一: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);