在node.js中validation一个集合是空的

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。 我想知道是否有可能简化我的代码。 特别是validation“查询”是否为空的部分。 用我的知识,我没有find一个更简单的方法

你的方法工作。

在检查对象的一般情况下,它会在不可查询的属性的边界情况下失败,这不应该是查询string(链接到源代码)的问题,并且可以使用Object.getOwnPropertyNames而不是Object.Keys来解决。

鉴于您正在运行nodejs,而不是浏览器JavaScript,使用Object.Keys可能是最清洁你将检查如果一个对象没有可枚举的属性。 我唯一要改变的是明确写入.length===0而不是.length因为这是你实际上正在检查的东西(对象没有键,也不是它的键可能是假的)

你可能会觉得这个问题很有用。