В массивах JavaScript нет ключей. Используйте объекты для этой цели.
var obj = {};
$.getJSON("displayjson.php",function (data) {
$.each(data.news, function (i, news) {
obj[news.title] = news.link;
});
});
// later:
$.each(obj, function (index, value) {
alert( index + ' : ' + value );
});
В JavaScript объекты выполняют роль ассоциативных массивов. Помните, что объекты не имеют определенного «порядка сортировки» при их итерации (см. Ниже).
Однако , в вашем случае мне не очень понятно, зачем вы вообще переносите данные из исходного объекта (data.news
). Почему вы просто не передаете ссылку на этот объект вокруг?
Вы можете комбинировать объекты и массивы для достижения предсказуемой итерации и поведение ключ / значение:
var arr = [];
$.getJSON("displayjson.php",function (data) {
$.each(data.news, function (i, news) {
arr.push({
title: news.title,
link: news.link
});
});
});
// later:
$.each(arr, function (index, value) {
alert( value.title + ' : ' + value.link );
});