Во-первых, вы не должны добавлять элементы в массивы по ключу, а к объектам. Что означает, что ваш глобальный объект должен быть построен как:
var _cQueue = [];
var valueToPush = {}; // this isn't an array but a js object used as map
valueToPush['[email protected]'] = '1234567';
_cQueue.push(valueToPush);
Затем вы итерацию с использованием двух видов петель: отличное Working with objects
for (var i=0; i<_cQueue.length; i++) { // iterate on the array
var obj = _cQueue[i];
for (var key in obj) { // iterate on object properties
var value = obj[key];
console.log(value);
}
}
знакомства MDN в.
Если вы хотите, чтобы найти адрес электронной почты связан с идентификатором, вы можете сделать две вещи:
1) цикл, пока вы не найдете:
function find(id) {
for (var i=0; i<_cQueue.length; i++) { // iterate on the array
var obj = _cQueue[i];
for (var key in obj) { // iterate on object properties
var value = obj[key];
if (value==id) return key;
}
}
}
2) поставить все идентификаторы в карте, так что он может быть найден быстрее:
var bigMap = {};
for (var i=0; i<_cQueue.length; i++) { // iterate on the array
var obj = _cQueue[i];
for (var key in obj) { // iterate on object properties
bigMap[obj[key]] = key; // maps the id to the email
}
}
function find(id) {
return bigMap[id];
}
http://stackoverflow.com/questions/4909218/placing-a-multi-dimensional-array-into-javascript-from-php-using-json ... см. Из этого ответа, и вы должны получить его – theshadowmonkey