检查对象是否为 Parse.com 云代码中的数组
Checking if object is Array in Parse.com CloudCode
我在 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 DID IT GO THROUGH!!!");
}
}).then...
find()
函数通常返回一个数组,但在我的测试用例中,它返回 0 个结果。通过登录到控制台,我设法看到在这种情况下结果是一个typeof
object
。只有在typeof
Array
的情况下,我才想继续处理results
else
案。但是,我的检查无法捕获这一点,并且代码不断进入else
部分。这个SO问题的所有检查都不适合我。
我最终使用了
if (results.length === 0) {
不知何故,这对我有用。
检查对象是否为数组
Object.prototype.toString.call(results) === '[object Array]'
试试这个。
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
演示
相关文章:
- 如何将数组循环到JSON代码中
- 如果在代码末尾进行求值,jQuery-console.log将提供空数组
- JavaScript代码,用于在浏览器中显示字节数组中的PDF文件(非base64编码)
- 如何避免“;使用数组文字表示法“;以下javascript代码中的jslint错误
- 在将csv文件中的数据分配给数组变量时增强了d3代码
- 使用键/代码转换JavaScript数组
- PHP函数调用和Javascript代码中的数组传递
- 使用从forEach循环中提取的国家代码从数组中获取国家名称
- 在Javascript代码中显示PHP数组变量
- Asp.net将代码背后的数据传递给Javascript并调用数组
- 谷歌跟踪代码管理器使用什么模式来观察 de 'dataLayer' 数组
- 通过代码+敲除更新数组中的值
- 为什么此代码返回未定义的4次而不是数组值
- 嗨,我正试图将我的movieprice数组从复选框值传递给另一个计算选择总数的函数,但我的代码没有;t运行
- 用于删除数组中的零的Javascript函数代码
- php代码返回基于数组的值
- 如何获取输入中使用的短代码数组
- 将两个字母的国家代码与预定义的国家代码数组相匹配
- 如何在JavaScript中将字符代码数组转换为字符串
- 如何用c#解析JavaScript代码/数组