Javascript 检查Parse.com CloudCode中的对象是否为数组
我在Parse.com CloudCode上运行了这段代码Javascript 检查Parse.com CloudCode中的对象是否为数组,javascript,arrays,parse-platform,parse-cloud-code,Javascript,Arrays,Parse Platform,Parse Cloud Code,我在Parse.com CloudCode上运行了这段代码 queryContact.find().then(function(results) { console.log(typeof results); // object if (results.constructor !== Array) { response.success("Found zero results"); } else { console.log("WHY
queryContact.find().then(function(results) {
console.log(typeof results); // object
if (results.constructor !== Array) {
response.success("Found zero results");
} else {
console.log("WHY DID IT GO THROUGH!!!");
}
}).then...
find()
函数通常返回一个数组,但在我的测试用例中,它返回0个结果。通过登录控制台,我设法看到在本例中,结果是类型的对象。仅当结果
为类型
数组
时,我才想继续处理else
案例。但是,我的检查没有捕获到这一点,代码不断落入else
部分。我的工作中没有任何检查。检查对象的步骤是数组
Object.prototype.toString.call(results) === '[object Array]'
检查对象是否为数组
Object.prototype.toString.call(results) === '[object Array]'
检查对象是否为数组
Object.prototype.toString.call(results) === '[object Array]'
检查对象是否为数组
Object.prototype.toString.call(results) === '[object Array]'
试试这个
if( Object.prototype.toString.call( someVar ) === '[object Array]' ) {
alert( 'Array!' );
}else{
alert( 'object!' );
}
试试这个
if( Object.prototype.toString.call( someVar ) === '[object Array]' ) {
alert( 'Array!' );
}else{
alert( 'object!' );
}
试试这个
if( Object.prototype.toString.call( someVar ) === '[object Array]' ) {
alert( 'Array!' );
}else{
alert( 'object!' );
}
试试这个
if( Object.prototype.toString.call( someVar ) === '[object Array]' ) {
alert( 'Array!' );
}else{
alert( 'object!' );
}
您可以使用以下命令返回JavaScript类型的名称:
function toType(x) {
return ({}).toString.call(x).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}
toType([]); // array
toType({}); // object
您可以使用以下命令返回JavaScript类型的名称:
function toType(x) {
return ({}).toString.call(x).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}
toType([]); // array
toType({}); // object
您可以使用以下命令返回JavaScript类型的名称:
function toType(x) {
return ({}).toString.call(x).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}
toType([]); // array
toType({}); // object
您可以使用以下命令返回JavaScript类型的名称:
function toType(x) {
return ({}).toString.call(x).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}
toType([]); // array
toType({}); // object
我最终使用了
if (results.length === 0) {
不知怎的,这对我很有效。我最终使用了
if (results.length === 0) {
不知怎的,这对我很有效。我最终使用了
if (results.length === 0) {
不知怎的,这对我很有效。我最终使用了
if (results.length === 0) {
不知何故,这对我来说很有用。可能会有重复的人需要停止回答这个问题,而不是投票来结束它。谢谢你,乔治,但我在我的问题中引用了同样的SO问题-见下文。因此,我的问题在这里。我希望在座的人能有使用Parse的find()函数和CloudCode的经验,以防它们导致某些特定的行为。如果不是关于“检查对象是否为数组”,请更好地命名您的问题——这一点以前已经讨论过无数次了谢谢,我现在已经这样做了。如果你删除了关闭它的建议,我将不胜感激。可能会有重复的人需要停止回答这个问题并投票关闭它。谢谢你,乔治,但我在我的问题中引用了同样的SO问题-见下文。因此,我的问题在这里。我希望在座的人能有使用Parse的find()函数和CloudCode的经验,以防它们导致某些特定的行为。如果不是关于“检查对象是否为数组”,请更好地命名您的问题——这一点以前已经讨论过无数次了谢谢,我现在已经这样做了。如果你删除了关闭它的建议,我将不胜感激。可能会有重复的人需要停止回答这个问题并投票关闭它。谢谢你,乔治,但我在我的问题中引用了同样的SO问题-见下文。因此,我的问题在这里。我希望在座的人能有使用Parse的find()函数和CloudCode的经验,以防它们导致某些特定的行为。如果不是关于“检查对象是否为数组”,请更好地命名您的问题——这一点以前已经讨论过无数次了谢谢,我现在已经这样做了。如果你删除了关闭它的建议,我将不胜感激。可能会有重复的人需要停止回答这个问题并投票关闭它。谢谢你,乔治,但我在我的问题中引用了同样的SO问题-见下文。因此,我的问题在这里。我希望在座的人能有使用Parse的find()函数和CloudCode的经验,以防它们导致某些特定的行为。如果不是关于“检查对象是否为数组”,请更好地命名您的问题——这一点以前已经讨论过无数次了谢谢,我现在已经这样做了。如果你删除关闭它的建议我会很感激的我刚刚测试过,它不起作用。。。else语句仍在被调用。@artooras这里有一个问题:results
真的是数组吗?或者它是一个类似数组的对象?好问题-这个函数的文档指定返回值为list-我假设它是一个数组,因为这是我通过Parse的iOS APITryconsole.log(object.prototype.toString.call(results))得到的结果
并查看输出结果您可以告诉我Object.prototype.toString.call(results)的输出结果是什么吗?
?我刚刚测试了它,它不工作。。。else语句仍在被调用。@artooras这里有一个问题:results
真的是数组吗?或者它是一个类似数组的对象?好问题-这个函数的文档指定返回值为list-我假设它是一个数组,因为这是我通过Parse的iOS APITryconsole.log(object.prototype.toString.call(results))得到的结果
并查看输出结果您可以告诉我Object.prototype.toString.call(results)的输出结果是什么吗?
?我刚刚测试了它,它不工作。。。else语句仍在被调用。@artooras这里有一个问题:results
真的是数组吗?或者它是一个类似数组的对象?好问题-这个函数的文档指定返回值为list-我假设它是一个数组,因为这是我通过Parse的iOS APITryconsole.log(object.prototype.toString.call(results))得到的结果
并查看输出结果您可以告诉我Object.prototype.toString.call(results)的输出结果是什么吗?
?我刚刚测试了它,它不工作。。。else语句仍在被调用。@artooras这里有一个问题:results
真的是数组吗?或者它是一个类似数组的对象?好问题-这个函数的文档指定返回值为list-我假设它是一个数组,因为这是我通过Parse的iOS APITryconsole.log(object.prototype.toString.call(results))得到的结果
并查看输出结果您可以告诉我Object.prototype.toString.call(results)的输出结果是什么吗?
?我刚刚测试了它,它不工作。。。else的陈述仍在被调用。哦,我明白了。json响应不相关,因为它包含一个相关的崩溃错误