首页 > 解决方案 > 如何正确获取数组中对象的总长度

问题描述

甚至可以获取数组中所有对象的长度吗?假设我有一个看起来像这样的数组:

var foo = [{
    "id": 1,
    "path": {
        "1": [{
            x: 21,
            y: 22
        }, {
            x: 22,
            y: 12
        }],
        "2": [{
            x: 21,
            y: 22
        }, {
            x: 22,
            y: 12
        }]
    }
}];

for (let x in foo) {
    var path = foo[x].path;
    for (let c in path) {
        console.log(path[c]);
    }
}

我怎样才能在这里正确地获得路径数组内的对象的总长度?

标签: javascript

解决方案


尝试找出键的长度:

Object.keys(path[c]).length

var foo = [{
    "id": 1,
    "path": {
        "1": [{
            x: 21,
            y: 22
        }, {
            x: 22,
            y: 12
        }],
        "2": [{
            x: 21,
            y: 22
        }, {
            x: 22,
            y: 12
        }]
    }
}];

for (let x in foo) {
  var path = foo[x].path;
  var totalLen = 0;
  for (let c in path) {
    totalLen += Object.keys(path[c]).length;
  }
  console.log(totalLen);
}


推荐阅读