微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将键和值都推送到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 );
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐