Javascript ClouldCode未返回正确的结果(随机数范围有限)
我的解析Javascript云代码工作不正常。基本上,我的所有对象都有一个对应的“index/menindex&womenindex”编号 如果选择了两种性别-所有项目都会显示(它们应该显示) 如果只选择了男性或女性-它只显示最多122309(女性索引)或80811(女性索引)的项目。我已经试了好几个星期了,但还是弄不懂这个Javascript ClouldCode未返回正确的结果(随机数范围有限),javascript,parse-platform,parse-cloud-code,Javascript,Parse Platform,Parse Cloud Code,我的解析Javascript云代码工作不正常。基本上,我的所有对象都有一个对应的“index/menindex&womenindex”编号 如果选择了两种性别-所有项目都会显示(它们应该显示) 如果只选择了男性或女性-它只显示最多122309(女性索引)或80811(女性索引)的项目。我已经试了好几个星期了,但还是弄不懂这个 Parse.Cloud.define("standardQuery", function(request, response) { var maxIndex = 124
Parse.Cloud.define("standardQuery", function(request, response) {
var maxIndex = 124940;
var maxWomenIndex = 135354;
var maxMenIndex = 105357;
var arrayOfRandomNumbers = new Array();
var query = new Parse.Query("garmentsAPI");
if (request.params.gender === "Female") {
//arrayOfRandoms draws on womenIndex, gender set to female
for (var k = 0; k < 40; k++) {
var randomIndex = Math.floor((Math.random()*maxWomenIndex)+1);
arrayOfRandomNumbers.push(randomIndex);
}
query.containedIn("womenIndex", arrayOfRandomNumbers);
query.notEqualTo ("viewers", request.params.user);
}else if (request.params.gender === "Male") {
for (var k = 0; k < 35; k++) {
var randomIndex = Math.floor((Math.random()*maxMenIndex)+1);
arrayOfRandomNumbers.push(randomIndex);
}
query.containedIn("menIndex", arrayOfRandomNumbers);
query.notEqualTo ("viewers", request.params.user);
//arrayOfRandoms draws on menIndex, gender set to male
}else{
for (var k = 0; k < 35; k++) {
var randomIndex = Math.floor((Math.random()*maxIndex)+1);
arrayOfRandomNumbers.push(randomIndex);
}
query.containedIn("index", arrayOfRandomNumbers);
query.notEqualTo ("viewers", request.params.user);
};
if (request.params.gender !== "both") {
query.equalTo ("gender", request.params.gender);
};
query.find({
success: function(objectsInQuery){
if (objectsInQuery.length > 15) {
var arrayOSelectedObjects = new Array();
for (var j = 0; j < 15; j++) {
arrayOSelectedObjects.push(objectsInQuery[j]);
}
response.success(arrayOSelectedObjects);
} else{
// var existingCount = objectsInQuery.count;
var missingIndex = 15 - objectsInQuery.length;
// missingIndex = missingIndex - objectsInQuery.count;
var query = new Parse.Query("garmentsAPI");
if (request.params.gender !== "both") {
query.equalTo ("gender", request.params.gender);
};
query.notEqualTo ("viewers", request.params.user);
query.limit(missingIndex);
// query.limit = 9 - objectsInQuery.count;
query.find({
success: function(objectsInQuery2){
if ((objectsInQuery.length + objectsInQuery2.length) === 15) {
for (var l = 0; l < missingIndex; l++) {
objectsInQuery.push(objectsInQuery2[l]);
}
response.success(objectsInQuery);
} else {
//who knows
var maxIndex2 = 15000;
var arrayOfRandomNumbers2 = new Array();
for (var m = 0; m < 15; m++) {
var randomIndex = Math.floor((Math.random()*maxIndex)+1);
// var randomIndex = 15;
arrayOfRandomNumbers2.push(randomIndex);
}
var query = new Parse.Query("garmentsAPI");
query.containedIn("index", arrayOfRandomNumbers2);
if (request.params.gender !== "both") {
query.equalTo ("gender", request.params.gender);
};
// query.notEqualTo ("viewers", request.params.user);
query.limit(15);
query.find ({
success: function (objectsInQuery3){
response.success (objectsInQuery3);
},
error:function() {
response.error("there was an error");
}
});
};
},
error:function() {
response.error ("didn't work");
}
}
);
};
},
error:function() {
response.error ("didn't work");
}
});
});
Parse.Cloud.define(“标准查询”),函数(请求、响应){
var maxIndex=124940;
var maxWomenIndex=135354;
var maxMenIndex=105357;
var arrayOfRandomNumbers=新数组();
var query=newparse.query(“garmentsAPI”);
如果(request.params.gender==“女性”){
//arrayOfRandoms使用女性索引,性别设置为女性
对于(var k=0;k<40;k++){
var randomIndex=Math.floor((Math.random()*maxWomenIndex)+1);
arrayOfRandomNumbers.push(随机索引);
}
query.containedIn(“womenIndex”,ArrayOfrandomNumber);
query.notEqualTo(“查看器”,request.params.user);
}else if(request.params.gender==“男性”){
对于(var k=0;k<35;k++){
var randomIndex=数学楼层((数学随机()*maxMenIndex)+1);
arrayOfRandomNumbers.push(随机索引);
}
query.containedIn(“menIndex”,arrayOfRandomNumbers);
query.notEqualTo(“查看器”,request.params.user);
//arrayOfRandoms使用menIndex,性别设置为男性
}否则{
对于(var k=0;k<35;k++){
var randomIndex=Math.floor((Math.random()*maxIndex)+1);
arrayOfRandomNumbers.push(随机索引);
}
query.containedIn(“索引”,arrayOfRandomNumbers);
query.notEqualTo(“查看器”,request.params.user);
};
如果(request.params.gender!=“两者”){
query.equalTo(“性别”,request.params.gender);
};
查询.查找({
成功:函数(objectsInQuery){
如果(objectsInQuery.length>15){
var arrayOSelectedObjects=新数组();
对于(var j=0;j<15;j++){
arrayOSelectedObjects.push(objectsInQuery[j]);
}
响应。成功(arrayOSelectedObjects);
}否则{
//var existingCount=objectsInQuery.count;
var missingIndex=15-objectsInQuery.length;
//missingIndex=missingIndex-objectsInQuery.count;
var query=newparse.query(“garmentsAPI”);
如果(request.params.gender!=“两者”){
query.equalTo(“性别”,request.params.gender);
};
query.notEqualTo(“查看器”,request.params.user);
查询限制(缺失索引);
//query.limit=9—objectsInQuery.count;
查询.查找({
成功:函数(objectsInQuery2){
if((objectsInQuery.length+objectsInQuery2.length)==15){
对于(var l=0;l
首先,您发布的所有花括号都不匹配。具体地说,我找不到此if
语句的右大括号
if(objectsInQuery.length>15){
它应该是第173行的第一个字符,根据你发布的
因此
});
};
},
error:function() {
response.error ("didn't work");
}
});
});
与你的帖子,如下
);
};
},
error:function() {
response.error ("didn't work");
}
});
});
当然-我为那句话添加了右括号。