如何获取数组/对象的长度

时间:2017-09-21 21:16:14

标签: javascript

好的,所以我有一个骨干模型,它给了我以下数组(或者至少我认为应该是一个数组)。下面是我的数组的console.log的截图。

enter image description here

所以数组的名称是myModel,下面给出了一个未定义的值。

myModel.length

如何获取此数组/ Object的长度以便我可以遍历它?

3 个答案:

答案 0 :(得分:1)

你有什么可能是类似数组的对象。最简单的方法就是将其变成一个数组。如果您可以使用ES6,那么您最好的选择是Array.from(myModel)

如果您无法使用ES6,则可以使用Array.prototype.slice.call(myModel)

这两种方法都会将类似数组的对象转换为数组! (您必须将结果存储在变量中)

答案 1 :(得分:1)

您似乎正在使用HTTP/1.1 200 OK {"party":{"partyId":111700,"foreNames":["Julie","Pamela",""],"lastName":"Duncan","initials":["J"],"...lots of content......."type":"EMAIL"}],"associatedOU":null} 而不是Object。在这种情况下,我认为你的对象有0到4的键,使它看起来像一个数组。

您可以使用Array方法以您期望的方式迭代Object。当然,如果您担心原型链,也可以使用for... in等,但您的示例很好,因为它只是一个简单的对象。

答案 2 :(得分:0)

很明显,这只是一个具有类似数组的对象,例如;

var myModel = {0:"this", 1:"that"};

如果你这样做;

var myArr = Array.from((myModel.length = Object.keys(myModel).length, myModel));

您将获得一个像["this", "that"]这样的正确数组。