【发布时间】:2016-09-28 14:56:16
【问题描述】:
我有一个接收Array 的函数,遍历它找到所有Objects 并将它们显示到用户界面。
在极少数情况下,我必须提供Object(WS 作为application/JSON 的结果),默认情况下它不是Array,因此我的函数无法对其进行迭代并显示在 UI 上.
在正常情况下,我的Array 看起来像这样:
[
{ "name" : "foo"},
{ "name" : "bar"},
{ "name" : "baz"}
]
这就像它应该的那样工作。但是,有时我得到的数据可能是这样的:
{ "name" : "I am not in a List"}
我的接收数组的函数如下所示:
function loadJSONIntoUI(data) {
for (var aMsg = 0; aMsg < data.length(); aMsg++) {
// Do something with each `index` in the List
}
}
有没有一种方法可以检测到不是数组的单个对象是一个奇怪的对象,并可能将其动态放入 List 并将其传递给函数?
到目前为止,我已经尝试使用typeof,并且还尝试在运行中创建一个新的Array,并将push 我的对象放入其中,但是当我这样做时它会打印出1。
【问题讨论】:
-
单项是否在数组中?如果不是,您可以检查variable is an array。如果是你可以检查
array.length == 1. -
它不是一个列表,它是一个数组......而且在 js 中它们是一种特殊的对象,所以如果你编写对象方法,它们也适用于数组
-
List在 JavaScript 中被称为 array。JSON也是 文本数据 - 因为它代表“JavaScript Object Notation”,那么如果它已经在 JavaScript 中,它就是一个对象。
标签: javascript arrays javascript-objects