Javascript 当array.prototype.slice.call不起作用时,如何将具有属性列表的对象转换为数组?
这适用于以下列表:Javascript 当array.prototype.slice.call不起作用时,如何将具有属性列表的对象转换为数组?,javascript,Javascript,这适用于以下列表: > Array.prototype.slice.call([1,2,3]) > [1, 2, 3] 如何从这类数据创建列表{1:“1”,2:“2”,3:“3”}?对于,除了用迭代对象之外,还有其他方法吗 Array.prototype.slice.call()在这里不起作用,它给出了[] 这来自data=Object{0:Object,1:Object,2:Object,total:'29'}然后我删除数据['total'],需要访问切片,弹出和数组的其他方法
> Array.prototype.slice.call([1,2,3])
> [1, 2, 3]
如何从这类数据创建列表{1:“1”,2:“2”,3:“3”}
?对于,除了用迭代对象之外,还有其他方法吗
Array.prototype.slice.call()
在这里不起作用,它给出了[]
这来自data=Object{0:Object,1:Object,2:Object,total:'29'}
然后我删除数据['total']
,需要访问切片
,弹出
和数组
的其他方法
var list = [];
for (item in obj) {
list.push(obj[item]);
}
//use list.push(parseInt(obj[item])) for number array
如果你想让它变直,你也可以做下面的事情
Object.values(obj);
您可以使用键并映射值
var o={1:1,2:2,3:3},
a=对象、键(o)、映射(函数(k){
返回o[k];
});
控制台日志(a);
log(Array.prototype.slice.call({1:1',2:2',3:3',长度:5}))代码>谢谢,但是除了使用for进行迭代之外,没有其他选项了?请参阅更新的选项。如果您想执行其他一些操作,迭代是最好的。但如果它只是您想要的对象的属性值,那么第二种方法是使用for迭代对象之外的其他方法吗?是的,我不是在争论!只是问我的推荐人;)谢谢你,尼娜,这看起来正是我想要的!这来自data=Object{0:Object,1:Object,2:Object,total:'29'}
然后我删除数据['total']
,需要访问切片
,弹出
和数组
的其他方法,所以这应该help@NinaScholz,我正要发布一个关于这个的答案;)您可能还想写一点关于0
索引的内容(由于索引0
中没有值,导致未定义的原因)…+1您可以添加它,如果您愿意的话