如何在JavaScript中执行if语句以检查JSON数组是否为空?

时间:2019-03-21 14:49:06

标签: javascript sql arrays json if-statement

我正在尝试从堆栈溢出中获得各种答案,以编写一条if语句,以检查是否填充了JSON数组或为空。但是,console.log始终返回未定义。我正在使用node.js和webstorm作为IDE。我可以得到一些帮助来解决这个问题吗?

xdebug.remote_autostart=on

}

3 个答案:

答案 0 :(得分:0)

问题是您正在使用带有con.query的严格相等运算符,如果未找到任何内容,它将返回空数组([])。 由于您使用严格的比较,([]) !== 0会解析为TRUE,这会导致您遇到问题。

解决方案

您可以将语句更改为if (result),或者将其更改为更清晰的版本if (result.length > 0 ),以完成您要执行的操作。

您可以从本文中了解有关JS如何评估表达式的更多信息 Truthy and falsy values in javascript

答案 1 :(得分:0)

要检查未定义的内容,并且有内容...

Warning: `flexWrap: `wrap`` is not supported with the `VirtualizedList` components.Consider using `numColumns` with `FlatList` instead.

编辑:显然,您不应该使用getOwnPropertyNames,因为某些安全框架会阻止它。.改用Object.keys。

答案 2 :(得分:-1)

使用Object.keys

function selectData(){
    var sql = "SELECT * FROM cust where LastName = '" +registerArray[0]+"'";
    con.query(sql, function (err, result) {
        console.log(JSON.stringify(result));
        if (Object.keys(result).length !== 0 ){