我的代码需要一些帮助(显然)。到目前为止,我能够获得我想要的json数据,但我似乎无法将其存储在全局数组中。我的目标是将data.count和data.url放在这样的数组中:
var myHelpfulVariable = [
// e.g. [data.count, '{label:' + data.url + '}']
[3856, {label:'http://www.google.com/'}],
[1897, {label:'http://www.yahoo.com/'}],
[3870, {label:'http://www.microsoft.com/'}]
]
我尝试使用推送功能的几种不同方法都无济于事。下面是获取数据的代码,但它并没有尝试将其放入数组中。
有人可以帮忙吗?解释它为什么起作用也会有所帮助。提前致谢!
<script src="jquery.min.js"></script>
<script>
$(document).ready(function(){
var getData = [
'http://urls.api.twitter.com/1/urls/count.json?url=http://www.google.com&callback=?',
'http://urls.api.twitter.com/1/urls/count.json?url=http://www.yahoo.com/&callback=?',
'http://urls.api.twitter.com/1/urls/count.json?url=http://www.microsoft.com&callback=?'
];
$.each(getData, function(i,getValue) {
var urlForGetJSONfunction = "'" + getValue + "'"
$.getJSON(getValue, function(data) {
$('<div></div>').append('<strong>' + data.count + '</strong>' + ' retweets for: ' + '<a href="' + data.url + '">' + data.url + '</a>').appendTo('body')
})//ends getJSON
})//ends each loop
});
</script>
答案 0 :(得分:1)
array.push( obj )
完全符合您的预期,将对象添加到数组的末尾。 JS中的数组元素不必是同一类型,因此您可以按照以下方式简单地推送数据:
var myHelpfulVariable=[];
$.each(getData, function(i,getValue) {
var urlForGetJSONfunction = "'" + getValue + "'";
$.getJSON(getValue, function(data) {
$('<div></div>').append('<strong>' + data.count + '</strong>' + ' retweets for: ' + '<a href="' + data.url + '">' + data.url + '</a>').appendTo('body');
var pair = [];
pair.push(data.count);
pair.push({'label':data.url});
myHelpfulVariable.push(pair);
});//ends getJSON
});
答案 1 :(得分:0)
在问题的开头,您的myHelpfulVariable
被定义为数组数组,其中内部数组包含数值和对象。如果这是你真正想要的,那么这就是:
<script src="jquery.min.js"></script>
<script>
$(document).ready(function(){
var myHelpfulVariable = [];
var getData = [
'http://urls.api.twitter.com/1/urls/count.json?url=http://www.google.com&callback=?',
'http://urls.api.twitter.com/1/urls/count.json?url=http://www.yahoo.com/&callback=?',
'http://urls.api.twitter.com/1/urls/count.json?url=http://www.microsoft.com&callback=?'
];
$.each(getData, function(i,getValue) {
var urlForGetJSONfunction = "'" + getValue + "'"
$.getJSON(getValue, function(data) {
myHelpfulVariable.push( [data.count, { label: data.url } ] );
}); //ends getJSON
}); //ends each loop
});
</script>