如何按名称计算 JavaScript 对象中嵌套的数组数量
2014-02-22
67
我有一个通用函数,需要检查命名数组中的项目数,但我不知道该叫什么名字。有办法吗?
数组:
// added array example here per request:
var myArray = { "name": "myname", "data": [ "item1": [1], "item2": [2,3,4,5,6,7,8,9], "item3": [41,42,51,491]}
// where length is the number of objects in the array.
var mycount = someitem.getProperty("UnknownName").length;
我想要做的是调用一些执行此操作的函数:
var mycount = specialCountFunction(someitem, name);
2个回答
在您的
specialCountFunction()
中,以字符串形式接收属性名称,然后在
item
后使用方括号来评估字符串的值,以便将其用作属性名称。
function specialCountFunction(item, name) {
return item[name].length;
}
因此您可以这样调用它:
var name = "whatever_the_name_is";
var count = specialCountFunction(someitem, name);
cookie monster
2014-02-22
你的意思是获取对象中数组的长度?
例如,你的对象
var obj = {
"children": [ "john", "mark", "sam" ]
}
使用
obj["children"].length
或者获取对象的长度?
Object.size = function(obj) {
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
};
// Get the size of an object
var size = Object.size(obj);
Faiz Shukri
2014-02-22