Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 验证node.js中的集合是否为空_Javascript_Node.js_Set - Fatal编程技术网

Javascript 验证node.js中的集合是否为空

Javascript 验证node.js中的集合是否为空,javascript,node.js,set,Javascript,Node.js,Set,大家好 我对javascript/node.js相当陌生。我想知道是否有可能简化我的代码。特别是验证“查询”是否为空的部分。据我所知,我没有找到一个更简单的方法你的方法有效 在检查对象的一般情况下,它在不可枚举属性的边缘情况下失败,可以通过使用object.getOwnPropertyNames而不是object.Keys来解决该问题 如果您运行的是nodejs而不是浏览器JavaScript,那么使用Object.Keys检查对象是否没有可枚举属性可能是最干净的方法。我唯一要更改的是显式写入.

大家好

我对javascript/node.js相当陌生。我想知道是否有可能简化我的代码。特别是验证“查询”是否为空的部分。据我所知,我没有找到一个更简单的方法

你的方法有效

在检查对象的一般情况下,它在不可枚举属性的边缘情况下失败,可以通过使用
object.getOwnPropertyNames
而不是
object.Keys
来解决该问题

如果您运行的是nodejs而不是浏览器JavaScript,那么使用
Object.Keys
检查对象是否没有可枚举属性可能是最干净的方法。我唯一要更改的是显式写入
.length===0
而不是
.length
,因为这是您实际检查的内容(对象没有键,而不是它的键可能是falsy)

你可能会觉得有用

var http = require('http'),
    url = require('url'),
    route = require('router')();
...
route.get('/{betNameType}', function(req, res) {
    var query = url.parse(req.url, true).query;
    if (!Object.keys(query).length) {
       // query string is empty
    }  
    else {
       // query string is set
    }
}