2017-02-04 2 views
0

Привет, У меня проблемы с ответом массива json. Я должен получить членов объектов. но этот массив находится внутри другого массива.
Это массив, который возвращается.Как получить массив внутри массива?

var arr = [ 
[ 
    { 
     "id": 4243430853, 
     "email": "[email protected]", 
    }, 
    { 
     "id": 4227666181, 
     "email": "[email protected]", 

    }, 
    { 
     "id": 4227644293, 
     "email": "[email protected]", 

    } 
], 
[ 
    { 
     "id": 4243430854, 
     "email": "[email protected]", 
    }, 
    { 
     "id": 4227666182, 
     "email": "[email protected]", 

    }, 
    { 
     "id": 4227644294, 
     "email": "[email protected]", 

    } 
] 
]; 

Как я могу вычислить значения? прежде чем я буду использовать arr[i].email, но теперь это не сработает. Я пробовал arr [0]. [I] .email, но возвращается ошибка missing name after . operator. Есть ли способ удалить этот внешний массив?

+0

Просто удалите '.' между скобками. – Xufox

+0

Возможный дубликат [Javascript error missing name after. оператор по переменной функции] (http://stackoverflow.com/questions/16172526/javascript-error-missing-name-after-operator-on-variable-function) – Xufox

ответ

2

Это должно быть arr[i][j].email. i, чтобы петля над массивом arr и j, чтобы перебрать все подматрицы.

arr[i] даст вам что-то вроде этого (если i == 0, например):

[ 
    { 
     "id": 4243430853, 
     "email": "[email protected]", 
    }, 
    { 
     "id": 4227666181, 
     "email": "[email protected]", 
    }, 
    { 
     "id": 4227644293, 
     "email": "[email protected]", 
    } 
] 

, а затем arr[i][j] даст что-то вроде этого (если i == 0 и j == 2):

{ 
    "id": 4227644293, 
    "email": "[email protected]", 
} 

, то вы можете доступ к объекту email с использованием arr[i][j].email.

+0

Спасибо, что так глупо мне забыть этот очень простой метод массива – yok2xDuran

0

Существует два способа доступа к объектам в Javascript: использование периодов или использование квадратных скобок. Здесь вы пытаетесь смешивать два, что работает, но, вероятно, это не лучшая практика. Вы должны выбрать то, что лучше для ситуации. Здесь вы хотите использовать скобки:

arr[i][j]["email"]; 

Обратите внимание, что при использовании переменных, вы всегда должны использовать скобки в отличие от периодов.

Смежные вопросы