我正在制作一个简单的 Twitter 应用程序,使用 JavaScript 进行开发。
下面的代码应该能够识别每个推文的位置,并计算每个位置的推文数。
然而,它没有递增计数,只是创建了一个新的数组。 我的代码有什么问题?我如何改进代码?
谢谢。
然而,它没有递增计数,只是创建了一个新的数组。 我的代码有什么问题?我如何改进代码?
谢谢。
var Twitter = require('node-twitter'),
twit = {},
loc = [];
twit.count = 0;
var twitterStreamClient = new Twitter.StreamClient(
//credentials
);
twitterStreamClient.on('close', function () {
console.log('Connection closed.');
});
twitterStreamClient.on('end', function () {
console.log('End of Line.');
});
twitterStreamClient.on('error', function (error) {
console.log('Error: ' + (error.code ? error.code + ' ' + error.message : error.message));
});
twitterStreamClient.on('tweet', function (tweet) {
if (loc.indexOf(tweet.user.location) === -1) {
loc.push({"location": tweet.user.location, "locCount": 1});
} else {
loc.loation.locCount = loc.loation.locCount + 1;
}
console.log(loc);
});
var search = twitterStreamClient.start(['snow']);
var loc = { loation: { locCount: 1 } };
,那么loc.loation.locCount
可以工作,但它不能按tweet.user.location
进行分组。 - Dmitry YaremenkoArray - find
,您也可以使用它,但是在IE中不起作用:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find。这就是为什么我使用了`reduce`的原因。 - Dmitry Yaremenko