我有一个函数,它接受Array
,遍历它找到所有Objects
并将它们显示到UI。如何在JavaScript中将对象安全地包装到数组中
在罕见的情况下,我必须提供一个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
,也试图动态创建和push
我的对象到一个新的Array
但它打印出一个1
,当我做到这一点。
是数组内的单个项目?如果不是,你可以检查[变量是一个数组](http://stackoverflow.com/questions/4775722/check-if-object-is-array)。如果是,你可以检查'array.length == 1'。 –
它不是一个列表,它是一个数组......在js中它们是一种特殊的对象,所以如果你编写对象方法,它们也可以用于数组 –
'List'在JavaScript中被称为_array_。另外'JSON'是_text data_ - 因为它代表“JavaScript Object Notation”,所以如果它已经在JavaScript中,它就是一个对象。 – vlaz