Javascript 为什么for循环在控制台中工作,而在助手中不工作?
我对我的代码到底发生了什么感到困惑。 当我在Chrome控制台中运行这个(下面的代码)代码段时,它成功地按照设计运行。但是,当它在应用程序中运行时,它无法按设计运行 此代码片段的目的是检查Javascript 为什么for循环在控制台中工作,而在助手中不工作?,javascript,for-loop,meteor,Javascript,For Loop,Meteor,我对我的代码到底发生了什么感到困惑。 当我在Chrome控制台中运行这个(下面的代码)代码段时,它成功地按照设计运行。但是,当它在应用程序中运行时,它无法按设计运行 此代码片段的目的是检查selectedItemIDSet数组的内容是否存在于totalofallid数组的总数中。如果是,则应弹出一个Yes,否则返回一个No var selectedItemIDSet = Session.get('selectedItemIDSet'); console.log (selectedItemI
selectedItemIDSet
数组的内容是否存在于totalofallid
数组的总数中。如果是,则应弹出一个Yes
,否则返回一个No
var selectedItemIDSet = Session.get('selectedItemIDSet');
console.log (selectedItemIDSet);
yeilds上面的console.log()函数:
[“GttzCQLzMeqj”、“yzML7ZLvkWkjBBvq5”、“2HWJHYJDHDOGJK”]
var TotalOfallIds = buyList.find().fetch().map(function(u) { return u._id; });
console.log (TotalOfallIds);
yeilds上面的console.log()函数:
EKEBEEKH8MDPNXG、LZJKA8S3wYNwHakzE、ikrbCDuttHrwkEcuv、,
yzML7ZLvkWkjBBvq5,e72HwJhHyjDhDogJK,GttzCQLzMeqjJP4Ae,
XzGxS3LDtJ4DrXSdc,FJDhf7mzCxX4CKThe,TaTg6hf3Gok5NsWYp,
NhDXRMnLWpwfAkWzJ,NG9TSOSCOCYGFBEUERR,8CDAPJOESXSCHKFS,
EsjSJfSgatrYTEnDK
var noOfloops = selectedItemIDSet.length;
var selectedItemId = this._id;
var allclicked;
for(var i = 0; i < noOfloops; i++ ) {
var clickedImg = selectedItemIDSet[i];
allclicked = TotalOfallIds.indexOf(clickedImg) > -1;
console.log("May: " +allclicked);
if (allclicked == 1 ) {
alert("Yes! " );
// return "selectedItem";
}
else {
alert("No! ");
//return "";
}}
对不起,说得太多了
任何帮助都将不胜感激 我通过将if条件代码从原来的
if(allclicked==1)
更改为if(selectedItemId.indexOf(clickedImg)!=-1)
,解决了这个问题。为什么它可以在控制台中工作而不能在代码中工作,这仍然没有任何意义
所以。。。完整工作条件代码为:
if (selectedItemId.indexOf(clickedImg) != -1) {
alert("Yes! " +clickedImg );
return "selectedItem";
}
else {
// alert("No! ");
}
在helper中,您是否检查了“this.\u id”以确保它符合您的期望?@zim谢谢,但我发现它和此无关。\u id。我只是需要重新构造代码。我在“回答你的问题”一节中加入了这项决议。
if (selectedItemId.indexOf(clickedImg) != -1) {
alert("Yes! " +clickedImg );
return "selectedItem";
}
else {
// alert("No! ");
}