首页 > 解决方案 > 如果语句在使用 javascript 或 jsx 时不起作用

问题描述

让代码块登录到控制台时遇到问题

不工作。没有任何内容记录到控制台

var data = {"_id": "615fc3db8b6a6311aa3295ca", "isComplete": false, "remindTime": {"date": "2021-10-08", "time": "12:08:40 am"}, "subtitle": "Fdfdff", "title": "Dfdf"}

if (data.length > 0) {
    console.log('my data', data);
}

什么工作:

var data = {"_id": "615fc3db8b6a6311aa3295ca", "isComplete": false, "remindTime": {"date": "2021-10-08", "time": "12:08:40 am"}, "subtitle": "Fdfdff", "title": "Dfdf"}

if (data.title) {
    console.log('my data', data);
}

不知道出了什么问题

标签: javascriptreactjsreact-nativeif-statement

解决方案


您正在测试未明确放置长度属性的普通 js 对象上的长度属性。

测试长度似乎您期望它是一个数组。

这类似于在控制台中运行它,你会得到未定义的。

({}).length

如果你想记录它,如果它是一个对象:

if (data) {
    console.log('my data', data);
}

如果你想记录它,如果它有任何属性:

if (Object.keys(data).length) {
    console.log('my data', data);
}

推荐阅读