gpt4 book ai didi

带通配符的 JavaScript switch 语句?

转载 作者:行者123 更新时间:2023-12-01 00:38:44 24 4
gpt4 key购买 nike

如果我的 javascript ajax 到我的服务器并以 [49] 的纯文本格式返回 49 ID,有没有办法让我做某事像这样...(我已经测试过并且不起作用)

switch(data)
{
case '[*]':
(..etc.)
break;
}

通配符是 * 并且我想确保它包含在两个方括号内?

因为我需要检查是否没有返回其他单词,例如 error 并且我保留 default 以防意外错误,有什么想法吗? :)谢谢!

最佳答案

您可以显式地切换 true,这将对每个 case 语句进行评估。

switch (true) {
case ((/^\[\d+\]$/).test(data)):
//matches data;
break;
case (data == "something else"):
//...
break;
default:
//...
}

但是,如果案例少于 4-5 个,最好使用 if/else if/else if/else block 。

if ((/^\[\d+\]$/).test(data)) {
//matches data;
} else if (data == "something else") {
//...
} else {
//...
}

我通常会在服务/休息调用的响应方法中进行一些错误捕获,这样如果出现错误,我几乎总是返回带有错误属性的正确 json。

try {
if (response.responseText.indexOf("<html") >= 0) {
throw response.responseText;
}

var data = JSON.parse(response.responseText);
if (data.error)
throw data.error;

//handle response data object.
if ((/^\[\d+\]$/).test(data)) {
//matches data;
} else if (data == "something else") {
//...
} else {
//...
}
} catch(err) {
if (err && err.message) {
//use err.message
} else if (err && err.toString().indexOf("<html") >= 0) {
//handle error text
}
}

关于带通配符的 JavaScript switch 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2271287/

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