You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何忽略数组表中的未定义输入?Bot代码崩溃问题解决

解决方法

你可以通过在函数中添加存在性检查,为错误输入返回安全的默认值,避免程序崩溃。以下是两种常用实现方式:

方式一:用hasOwnProperty判断键是否存在

const arrayTable = {
    array1 : ['A1', 'A2'],
    array2 : ['B1', 'B2']
    // 更多数组定义
};

function selectedData(input) {
    // 检查输入对应的键是否属于arrayTable自身属性
    if (arrayTable.hasOwnProperty(input)) {
        return arrayTable[input];
    }
    // 输入无效时返回空数组(可根据需求改为其他默认值,比如undefined)
    return [];
}

selectedData("array1"); // 返回 ['A1', 'A2']
selectedData("wronginput"); // 返回 [],不会崩溃

方式二:用可选链+空值合并运算符(ES6+)

这种写法更简洁,适合现代JavaScript环境:

const arrayTable = {
    array1 : ['A1', 'A2'],
    array2 : ['B1', 'B2']
    // 更多数组定义
};

function selectedData(input) {
    // 若arrayTable[input]不存在,则返回空数组
    return arrayTable[input] ?? [];
}

selectedData("array1"); // 返回 ['A1', 'A2']
selectedData("wronginput"); // 返回 [],不会崩溃

说明

两种方式的核心逻辑一致:当输入的键未在arrayTable中定义时,返回一个不会导致后续代码崩溃的安全值(比如空数组)。如果业务逻辑允许,也可以返回undefined,但需要确保后续处理返回值的代码能兼容undefined的情况。

内容的提问来源于stack exchange,提问作者Lauren

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 18:40:38