如何从javascript对象中查找属性类型?

时间:2014-10-16 03:55:41

标签: javascript

如何找出对象的哪个属性是数组类型? 鉴于下面的示例代码,我希望得到值OrderItemList

function Order() {
    this.Id = 0;
    this.LocationID = 0;
    this.OrderItemList = new Array();      
}

var orderObject = new Order();

1 个答案:

答案 0 :(得分:3)

据我所知,你在javascript中有一个Object,你想知道它是否包含一个数组。如果这是您想要实现的目标,您只需遍历该对象的所有keys并检查该值是否为instanceOf数组。

在Jquery中,你可以这样做(updated Demo):

$.each( orderObject, function( key, value ) {
if(value instanceof Array){
   console.log(key);
  }
});

Javascript等价物:

for (var key in orderObject) {
 var val = orderObject[key];
  if (val instanceof Array){
   console.log(key);    
  }
}

我希望它能让你开始朝着正确的方向前进。

编辑 - 就像许多人已指出length属性一样,可以用来唯一地区分数组和字符串,尽管你可以做{{1}检查该值是否为字符串。