我创建此查询基本上一次发送一组商店位置的纬度和经度,以计算距商店一定距离(10英里)的客户地址数量。我得到的是每个商店的一个号码。我最初设置它只是将所有计数(数字)附加到div只是为了看看我是否可以使它工作。它现在有效,但我真正想做的是将每个数字一次一个地添加到一起,因为它们被返回以获得总数。我已经尝试了几种不同的.each语句,但似乎都没有。
这里是附加所有数字的代码:
$.getJSON('<QUERY URL HERE>').done(function (data) {
var coors = data.rows.map(function (row) {
return [row[1],row[2]];
});
$.each(coors, function (index,value) {
var key='API KEY'
var table ='TABLE NUMBER'
var sql = "SELECT COUNT() from " + table +
" WHERE ST_INTERSECTS(coordinates,CIRCLE(LATLNG("+value+"), 16093 ))";
url = "https://www.googleapis.com/fusiontables/v1/query?key=" + encodeURIComponent(key) + "&sql=" + encodeURIComponent(sql) + '&callback=?';
$.getJSON(url, function (data) {
$('#info2').append(data.rows ? data.rows[0] : 0,",");
});
这在#info2中给出了以下内容:
30,285,61,326,609,14,13,30,24,87,24,77,16,165,16,925,152,383,391,253,9,75,16,16,467,72,678,523,193,870,161,422,333,
因此,我只想将它们添加到一起并显示总数,而不是显示这些数字。关于最佳方法的想法?
答案 0 :(得分:2)
Array.reduce
似乎是更好的选择,假设data.rows
是Array
的{{1}}
Number