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
}
}
大家好!
我是 javacript/node.js 的新手。我想知道是否可以简化我的代码。特别是验证“查询”是否为空的部分。据我所知,我没有找到更简单的方法
最佳答案
您的方法有效。
在检查对象的一般情况下,它在不可枚举属性的边缘情况下失败 should not be an issue with the query string (link to source code)并且可以通过使用 Object.getOwnPropertyNames
而不是 Object.Keys
来解决。
鉴于您运行的是 nodejs 而不是浏览器 JavaScript,使用 Object.Keys
可能是检查对象是否没有可枚举属性的最干净的方法。我唯一要更改的是显式编写 .length===0
而不是 .length
因为这是您实际上要检查的内容(对象没有键,并不是说它的 key 可能是假的)
您可能会找到 this question有用。
关于javascript - 在 node.js 中验证一个集合是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16562354/