如何找出对象的哪个属性是数组类型?
鉴于下面的示例代码,我希望得到值OrderItemList
。
function Order() {
this.Id = 0;
this.LocationID = 0;
this.OrderItemList = new Array();
}
var orderObject = new Order();
答案 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}检查该值是否为字符串。