js中如何把类型为object的变量,变成类型为array的变量?

js中如何把类型为object的变量,变成类型为array的变量?
有个变量dtype,alert(typeof(dtype)); 看到其类型为object,如何将其类型转变为数组类型?

1、object无法直接转换为array,两个是不同的类型和数据结构

2、object中的结构是一个属性=值的结构模式,而array是数字索引=值的结构模式

3、如果确实根据一定的业务逻辑能转换,则需要循环

var tmp=[];
for(var key in object){
   //key是属性,object[key]是值
   tmp.push(key);//往数组中放属性
}

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-26

给你一个例子,希望对你有帮助

var jsonData = [{id:'0', name:'工厂',size:13,parentID:''},{id:'1', name:'分销A',size:13,parentID:'0'},{id:'2', name:'分销B',size:13,parentID:'0'}];
var source = [];
source[0] = ['ID', 'name', 'size', 'parentID'];
for (var i = 0, j = jsonData.length; i < j; i++)
    source[i + 1] = [jsonData[i].id, jsonData[i].name, jsonData[i].size, jsonData[i].parentID];

alert(source.join('|'))

本回答被提问者采纳
第2个回答  2019-03-28

function makeArray(array){
  return Array().slice.call(array);
}
//这个方法只能转换带length属性,且索引是连续的对象,因此可以方便地
//将函数里的 arguments 转为数组
var obj = {length:2,0:"apple",1:"banana"};
var array = makeArray(obj);//["apple","banana"]

相似回答