如何访问嵌套数组中对象的属性?
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"]
我有一个名为 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"]