javascript – 如何从对象获取数组的数量

我有以下格式的JSON Web服务.

 { Name:['a','b'], Name:['cd','ef'], Age:{...}, Address:{...} }. 

这里我有2个数组&对象内的2个对象和这些(数组和对象)数字可能不同.我需要的是,如何从主对象中单独获取数组的数量?可能存在另一种解决我的问题的方法,但我需要我的代码在.JS(javascript文件)中.

当我尝试:

Object.keys(mainobject).length; 

它给出了主对象中数组对象的总数.

最佳答案
var data = { Name:['a','b'], OtherName:['cd','ef'], Age:{a: 12}, Address:{a: 'asdf'} }

var numberOfArrays = Object.keys(data).filter(function(key) {
    return data[key] instanceof Array; //or Array.isArray(data[key]) if the array was created in another frame
}).length;

alert(numberOfArrays);

注意:这在旧版IE中不起作用

jsFiddle

要使其适用于不支持它的浏览器,请使用MDN中的填充程序:

Object.keys

Array.filter

转载注明原文:javascript – 如何从对象获取数组的数量 - 代码日志