gpt4 book ai didi

数组中用于模式匹配的 JavaScript 占位符

转载 作者:行者123 更新时间:2023-11-28 17:49:32 27 4
gpt4 key购买 nike

我有一个像这样的js数组:

let data = [{status:"stay",points:[1,2,3,4,5]}, {status:"move",points:[1,2,3,4,5]},{status:"stay",points:[1,2,3,4,5]}]

我想做一些模式匹配,这是我的代码:

switch (data){
case [{status:"move",_},{status:"stay",_},{status:"move",_}]:
console.log("successfully!")
}

我不关心点数组,但在js中占位符“_”不存在,实际上我知道其他方法可以做到这一点,但如果我们只使用switch-case,可以解决吗?

我是js新手,有谁知道怎么做吗?

最佳答案

如果我理解您想要正确执行的操作,您可以尝试将数组减少为字符串,然后在 switch 语句中使用该字符串。像这样的事情:

var actionString = ""

data.forEach(function(datum) {
actionString += datum.status + ' ';
});

// Remove extra space at the end
actionString.trim();

console.log(actionString); // "move stay move"

那么你的 switch 语句将是:

switch(actionString) {
case "move stay move":
console.log('success!');
break;
case "stay move stay":
console.log('failure?');
break;
/* etc */
}

关于数组中用于模式匹配的 JavaScript 占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45857296/

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