gpt4 book ai didi

JavaScript 打印整个数组而不是单个元素

转载 作者:行者123 更新时间:2023-11-30 07:41:35 25 4
gpt4 key购买 nike

var input = document.querySelector("input");
var button = document.querySelector("button");
var inventory = ["jacket","pants","map"];
var actionsIKnow = ["north","east","west","south"];
var messages = ["A group of dangerous minions. Turn back, you do not have a sword",
"You have gone too deep into the forest. Want to go further?",
"A giant ruby crystal",
"A silent lake; you see your reflection in the water",
"Clear patch of land",
"A sleeping dragon. Bettwe not wake it up",
"A solitary cottage. Faint music can be heard from the inside",
"Looks like this path leads to the cottage of the flute maker",
"A lot of tombstones, looks like an old graveyard"
];

var userInput;
var startingPos = 4;

button.addEventListener("click",takeMeThere,false);

function takeMeThere(){
userInput = input.value;
userInput = userInput.toLowerCase();
if(userInput!=null){
validateInput();
}
}
function validateInput(){
for(var i=0;i<actionsIKnow.length;i++){
if(userInput.indexOf(actionsIKnow[i]!=-1)){
move(actionsIKnow[i]);
}
}
}
function move(where){
console.log(where);
}

我正在制作一个基于文本的探索游戏,用户可以在其中选择去哪里。用户想去哪里取决于在文本字段中输入的内容。然后将此数据传递到 move(where),我在其中 console.log(where)。它不打印 north、east 等,而是打印整个 actionsIKnow 数组。为什么?

最佳答案

简单的错误。变化

if(userInput.indexOf(actionsIKnow[i]!=-1)){

为此:

if (userInput.indexOf(actionsIKnow[i]) !== -1 ) {

http://jsfiddle.net/bz8k5/

编辑。根据评论中的讨论。 为了能够验证不同格式的输入,例如 east,move east,但不允许 easter,您可能还需要使用更复杂的验证规则。也许使用正则表达式:

if (userInput.match(new RegExp("\\b" + actionsIKnow[i] + "\\b"))) {
move(actionsIKnow[i]);
}

http://jsfiddle.net/bz8k5/2/

关于JavaScript 打印整个数组而不是单个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15847879/

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