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的新手。我想知道是否可以简化我的代码。特别是验证“query”是否为空的部分。据我所知,我找不到更简单的方法
答案 0 :(得分:1)
你的方法有效。
在检查对象的一般情况下,它在should not be an issue with the query string (link to source code)的不可枚举属性的边缘情况下失败,并且可以使用Object.getOwnPropertyNames
而不是Object.Keys
来解决。
鉴于您正在运行nodejs而不是浏览器JavaScript,使用Object.Keys
可能是最简洁的,您可以检查对象是否没有可枚举的属性。我唯一要改变的是明确写.length===0
而不是.length
,因为这是你实际检查的内容(对象没有键,而不是它的键可能是假的)
您可能会发现this question有用。