JavaScript 将对象转换为数组
2018-04-27
83
我研究了大约一天,但没有任何收获。我试图访问对象属性,以便将其添加到 JavaScript 中的类型化类中。我该如何实现这一点?这是我收到的对象:
这是我的代码,导致以下错误:
Object.keys(selected).forEach(function (key) {
console.log(selected[key]);
});
错误:
ERROR TypeError: Cannot convert undefined or null to object
任何帮助都非常感激,因为我来这里是最后的手段。
Object.keys(selected)... json 字符串中选择的内容:
{
"selected": [
{
"Id": 4,
"Type": 0,
"Image": "",
"Name": "TestName",
"Roles": "TestRole",
"Facility": "TestFacil"
}
]
}
2个回答
选定的变量是一个数组,您可以尝试这个:
selected.forEach(
item=>
Object.keys(item).forEach(function (key) {
console.log(item[key]);
})
)
也可能是:
selected.selected.forEach(
在您的问题中,不清楚您正在记录的 json 字符串的值的名称是什么。
HMR
2018-04-27
let data = {
"selected": [
{
"Id": 4,
"Type": 0,
"Image": "",
"Name": "TestName",
"Roles": "TestRole",
"Facility": "TestFacil"
}
]
}
let arr = [];
for (var key in data) {
arr.push(data[key]);
}
console.log(arr)
或者,如果您想将整个对象转换为
数组
的
数组
,也可以使用它
let data = {
"selected": [
{
"Id": 4,
"Type": 0,
"Image": "",
"Name": "TestName",
"Roles": "TestRole",
"Facility": "TestFacil"
}
]
}
var arr = [];
var i =0;
for( var key in data){
var innerArr = [key];
arr.push(innerArr)
for(var values in data[key]){
for(var keys in data[key][values]){
var innerArr3 = [keys];
innerArr.push(innerArr3)
innerArr3.push(data[key][values][keys])
}
}
}
console.log(arr)
mooga
2018-04-27