每次循环发生时,我都试图从revlength中减去。例如,如果有2个Google用户'帖子然后从revlength中减去2
这就是我的尝试。
var revlength = place.reviews.length;
if(place.reviews[index].author_name == 'A Google User') {
$("#revnum").html(revlength--);
}
添加到脚本后,代码不适用于
$.each(place.reviews, function (index, value) {
if (place.reviews[index].text.length != 0) {
if (place.reviews[index].text.length == 0) {
$("#revnum").html(--place.reviews.length);
}
if (place.reviews[index].author_name == 'A Google User') {
$("#revnum").html(--place.reviews.length);
var imgid = '<img src="img/gplus.gif" width="50" height="50">';
} else {
$("#revnum").html(revlength);
var imgid = '<img src="img/user.gif" width="50" height="50">';
}
答案 0 :(得分:3)
试试这个..
更改
$("#revnum").html(revlength--);//you are doing post-decrement
到
$("#revnum").html(--revlength);//you need to change it pre-decrement.
如果其他部分正确,则可以确定。
<强>解释强>
- i和i-- - 的位置 - 确定在使用该值之前或之后是否减去一个。
如果i--将在递减之前使用该值。 如果--i将在递减后使用该值。
答案 1 :(得分:1)
将我的评论(似乎有效)转化为答案:
您需要实际递减place.reviews.length
。
if(place.reviews[index].author_name == 'A Google User') {
$("#revnum").html(place.reviews.length--);
}
您的原始代码只是递减了一个暂时变量revlength
,这个变量并不持久,因为您每次都会从place.reviews.length
重新加载该变量。因此place.reviews.length
永远不会减少。
作为解释,也许你的印象是在做完之后:
var revlength = place.reviews.length;
当你那时:
revlength--
它也会减少place.reviews.length
,但事实并非如此。 revlength
是一个新变量,其值设置为place.reviews.length
,但当您执行revlength--
时,只会更改该变量,但不会对{{1}产生任何影响}。因此,对于要继续递减的值,您需要递减place.reviews.length
。
答案 2 :(得分:1)
我认为这就是你想要的:
var revlength = $.grep(place.reviews, function (val) {
return val.author_name !== 'A Google User';
}).length;
// alert(revlength);
// console.log(revlength);
答案 3 :(得分:-1)
试试这个,
var revlength = place.reviews.length;
revlength = parseInt(revlength.toString());
if(place.reviews[index].author_name == 'A Google User') {
revlength--;
$("#revnum").html(revlength);
}