gpt4 book ai didi

javascript - 对象丢失时未定义的输出

转载 作者:行者123 更新时间:2023-12-01 03:03:36 25 4
gpt4 key购买 nike

我会尽力提出这个问题,因为我不熟悉 JavaScript,所以我不知道自己在寻找什么,所以无法搜索到它。我知道为什么会发生这种情况,只是不知道如何使用 JavaScript 来解决它。

我正在解析和循环 API 响应中的 JSON 文件。有时,如果存在可以是任何文本作为值的标题,则以下代码片段中的对象 NWSHeadline 将包含在文件中,或者如果没有要显示的任何文本,则可以从文件中一起删除 NWSheadline 对象。

 "parameters": {
"NWSheadline": [
"TEXT VALUE FOR NWSHEADLINE"
],

为了简洁起见,我仅发布与我的问题相关的上述内容的片段。在我的循环中,我有以下行为对象 NWSheadline 创建 var

var NWSheadline = entry.properties.parameters.NWSheadline;

例如,当我将其放入 HTML 中时...

<div class="alerts-description-popover"><p>' + NWSheadline + '</p>

它将从 JSON 文件输出该对象 NWSheadline 的值,如果文件中存在该 NWSHeadline 对象,该值可以是句子形式的任何文本。如果 JSON 文件中不存在 NWSheadline 对象,则只会输出 Undefine,因为 NWSheadline 已在我的 HTML 中声明,但在 JSON 文件中不存在。所以我知道为什么现在会发生并尝试解决它。​​

所以我的问题是,如何抑制它在 Javascript 中显示“未定义”,以便如果 NWSHeadline 在 JSON 中不可用,它将不显示任何内容而不是“未定义”?

现在在我更熟悉的 PHP 中我做了这样的事情。

$NWSheadline = $currFeature['properties']['parameters']['NWSheadline'][0] ?? null;

当 NWSheadline 不存在时,JavaScript 中是否有类似的东西会产生相同的结果,或者有其他一些方法来防止未定义?

最佳答案

是的!您可以使用“或”|| 运算符。你可以这样做:

var NWSheadline = entry.properties.parameters.NWSheadline || "default value";

相当于你的php行;

编辑:

看看这个 block ,熟悉一下这个运算符:

var has_some_value = "some value!";
var has_undefined;

console.log(has_some_value || "default")
console.log(has_undefined || "default")

你可以看到结果:

> some value!
> default

现在,让我们看看您的情况,您可以测试仅在控制台中粘贴:

var entry = {
"properties": {
"parameters": {
"NWSheadline": [
"TEXT VALUE FOR NWSHEADLINE"
]
}
}
}

var NWSheadline = entry.properties.parameters.NWSheadline || "default value";

console.log(NWSheadline);


var entry2 = {
"properties": {
"parameters": {
"some_other_things": 123
}
}
}

var NWSheadline2 = entry2.properties.parameters.NWSheadline || "default value";

console.log(NWSheadline2);

这里我们有 entryNWSheadline 以及 entry2NWSheadline2。输出:

> ["TEXT VALUE FOR NWSHEADLINE"]
> default value

希望对你有帮助

关于javascript - 对象丢失时未定义的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46328212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com