将对象转换为数组的JavaScript

时间:2018-04-27 19:28:01

标签: javascript

我研究了大约一天但没有运气。我正在尝试访问对象属性,只需将其添加到JavaScript中的类型化类中。我怎么能做到这一点?这是我收到的对象:

enter image description here

这个我的代码导致以下错误:

Object.keys(selected).forEach(function (key) {
        console.log(selected[key]);
    });

错误:

  

错误类型错误:无法将undefined或null转换为对象

我非常感谢任何帮助,因为我作为最后的手段来到这里。

选择的

看起来像这样: enter image description here

Object.keys(已选择)...在json字符串中选择:

{
 "selected": [
    {
      "Id": 4,
      "Type": 0,
      "Image": "",
      "Name": "TestName",
      "Roles": "TestRole",
      "Facility": "TestFacil"
    }
  ]
}

2 个答案:

答案 0 :(得分:3)

选择的变量是一个数组,你可以试试这个:

selected.forEach(
  item=>
    Object.keys(item).forEach(function (key) {
      console.log(item[key]);
    })
)

也可能是:

selected.selected.forEach(

在你的问题中,不清楚你记录json字符串的值的名称是什么。

答案 1 :(得分:1)

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)

或者如果您想将整个对象转换为arrays的{​​{1}}

,则可以使用它

arrays