如何访问嵌套数组中对象的属性?

What can I do to access to the properties of an object inside a nested array?

我有一个名为 sportPromise 的数组,它看起来像:

0: Array[0]
1: Array[1]
2: Array[2]
3: Array[3]

正在做 console.log(angular.toJson($scope.sportPromise, 'pretty')); returns

[
  [],
  [
    {
      "id": 5932,
      "parent": 1000,
      "name": "NBA",
      "sport": {
        "id": 8,
        "name": "NBA"
      },
      "lineType": "G",
      "priority": [
        1,
        3
      ],
      "part": "0"
    }
  ],
  [
    {
      "id": 2599,
      "parent": 1000,
      "name": "NCAA BASKETBALL",
      "sport": {
        "id": 24,
        "name": "College Basketball"
      },

我需要访问嵌套在该数组中的对象的 name 属性,如您所见,它也是一个嵌套数组。

有什么建议吗?

我正在使用 lodash 和 Angular。

您可以使用$scope.sportPromise[n][0].name访问属性。

您可以通过遍历每个嵌套范围来访问它:

for (var i=0; i< sportPromise.length; i++) { 
   for (var j=0; j < sportPromise[i].length; j++) { 
      console.log( sportPromise[i][j]['name'] );
   }
}

如果您只需要 name 属性,您可以使用 lodash 的 flatten and pluck 函数轻松提取它:

_.chain(sportPromise).flatten().pluck('name').value()
// -> ["NBA", "NCAA BASKETBALL"]