我一直在使用Facebook API的JS代码来查找消息中的单词总数。
我试过的是:
#THE MAIN CODE IN THE API
function testAPI() {
console.log('Welcome! Fetching your information.... ');
FB.api('/me/inbox?limit=10',function(response) {
for (var i=0;i<response.data.length; i++) {
var thread = response.data[i];
var babe = 0;
for (var j=0;j<thread.comments.data.length;j++) {
var comment = thread.comments.data[j].message.length;
babe += comment;
}
console.log(babe);
}
});
}
当我这样做时,我得到的结果如135,75 ......我需要的是找到像135+75 = 210
这样的总和并显示它。
我尝试了很多方法,但仍坚持使用它;希望你们能帮助我。
console.log(thread)
给出了
Object {id: "272328299637636", to: Object, updated_time: "2014-08-07T06:13:18+0000", unread: 0, unseen: 0…}
comments: Object
id: "272328299637636"
to: Object
unread: 0
unseen: 0
updated_time: "2014-08-07T06:13:18+0000"
答案 0 :(得分:0)
使用此:
var comment = thread.comments.data[j].message.split(' ').length;
这将计算message
中的字数而不是字符数。
要获得所有线程的单个总数,您需要在第一个循环之外初始化计数器:
function testAPI() {
console.log('Welcome! Fetching your information.... ');
FB.api('/me/inbox?limit=10',function(response) {
var babe = 0;
for (var i=0;i<response.data.length; i++) {
var thread = response.data[i];
for (var j=0;j<thread.comments.data.length;j++) {
if (thread.comments.data[j].message) {
var comment = thread.comments.data[j].message.split(' ').length;
babe += comment;
}
}
}
console.log(babe);
});
}
答案 1 :(得分:0)
我假设thread.comments.data
是字符串的数组/集合..
如果您这样做:
var stringArr = ["This is string 1", "Hello, I am string 2", "Hola, I can say, I am string 3.,....", "Namaste, India"]
var count = 0;
for(i=0; i< stringArr.length ; i++)
{
count += stringArr[i].length;
}
console.log("Total Count is - " + count);
你应该得到总数......
根据您的API响应,我编辑了该演示。问题出在某些对象&#34;消息&#34;财产没有定义。