如何将键和值都推送到Jquery中的数组

我正在阅读RSS提要,并推送标题链接一个数组在Jquery。

我做的是

var arr = [];

            $.getJSON("displayjson.PHP",function(data){
                $.each(data.news,function(i,news){
                    var title = news.title;
                    var link = news.link;
                    arr.push({title : link});
                });                      
            });

我再次读取该数组使用

$('#show').click(function(){
                $.each(arr,function(index,value){
                    alert( index +' : '+value);
                });
            });

但它给我输出

1:[Object Object]
2:[Object Object]
3:[Object Object]

喜欢这个 …

如何我可以获得磁贴和链接作为一对(标题作为键和链接作为值)

解决方法

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",news) {
        arr.push({
            title: news.title,link:  news.link
        });
    });                      
});

// later:
$.each(arr,value) {
    alert( value.title + ' : ' + value.link );
});

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...