开发者社区> 问答> 正文

如何在Jquery中将键和值都推入数组

我正在阅读RSS feed,并将Title和Link都推入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] 像这样 ...

我如何才能同时获得图块和链接对(标题作为键,链接作为值) 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 14:12:11 406 0
1 条回答
写回答
取消 提交回答
  • 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 ); });

    2020-02-08 14:12:26
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
Javascript中的函数 立即下载
JavaScript函数 立即下载
低代码开发师(初级)实战教程 立即下载