作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在阅读 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]
像这样...
我如何获得成对的 tile 和 link(title as key and link as value)
最佳答案
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 );
});
关于jquery - Jquery中如何将键和值同时推送到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4825899/
我是一名优秀的程序员,十分优秀!