这是我的对象
var data = {
a:{"0": "1"},
b:{"1": "2"},
c:{"2": "3"},
d:{"3": "4"}
};
这是我期望的输出
data = [
{"0": "1"},
{"1": "2"},
{"2": "3"},
{"3": "4"}
]
答案 0 :(得分:43)
这对我有用
var newArrayDataOfOjbect = Object.values(data)
答案 1 :(得分:15)
var data = {
a:{"0": "1"},
b:{"1": "2"},
c:{"2": "3"},
d:{"3": "4"}
};
var myData = Object.keys(data).map(key => {
return data[key];
})
这对我有用
答案 2 :(得分:3)
您必须为对象中的每个值指定一个名称。
修复第一个对象后,可以使用push执行此操作。
var data = {
1: {"0": "1"},
2: {"1": "2"},
3 : {"2": "3"},
4: {"3": "4"}
};
var ar = [];
for(item in data){
ar.push(data[item]);
}
console.log(ar);
答案 3 :(得分:0)
var array = [];
for(var item in data){
// this condition is required to prevent moving forward to prototype chain
if(data.hasOwnProperty(item)){
array.push(data[item]);
}
}
答案 4 :(得分:0)
我得到你想要的!这是你的解决方案,
var dataObject=[{name:'SrNo',type:'number'}];
要访问或存储数组,请使用
dataObject[0].srno=1;
dataObject[0].srno=2;
希望这就是你所需要的。
答案 5 :(得分:0)
这对我有用。而且似乎得到了很好的支持。
proc=subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
while True:
line = proc.stdout.readline()
if (line==''):
break
print line; #doing something with the line and notifying progress
https://medium.com/chrisburgin/javascript-converting-an-object-to-an-array-94b030a1604c
答案 6 :(得分:0)
接受的答案未考虑OP想要删除键的问题。这仅返回对象,而不返回其父键。
Object.entries(ObjOfObjs).map(e => e[1])
输出:
[
{"0": "1"},
{"1": "2"},
{"2": "3"},
{"3": "4"}
]
答案 7 :(得分:0)
这很简单,并且会以不可变的方式进行,这样您的主要数据就不会被触及,但您可以根据需要创建一个新的映射数据并创建一个新数组。
let data = {
a: { "0": "1" },
b: { "1": "2" },
c: { "2": "3" },
d: { "3": "4" }
};
const mappedDataArray = [];
for (const key in data) {
const mappedData = {
...data[key]
};
mappedDataArray.push(mappedData);
}
console.log(mappedDataArray);
console.log(data);
答案 8 :(得分:0)
您可以使用 Object.values()
函数轻松完成此操作
var data = {
a:{"0": "1"},
b:{"1": "2"},
c:{"2": "3"},
d:{"3": "4"}
};
console.log(Object.values(data))