gpt4 book ai didi

javascript indexOf 总是返回 -1

转载 作者:行者123 更新时间:2023-11-29 17:15:21 24 4
gpt4 key购买 nike

制作(蹩脚的)游戏,我想检查所选方 block 是否包含怪物,但我的 indexOf 一直返回 -1。相关代码如下。

初始化:

var monsters = [];

var monsterPositions = [2,8,13,15,22];

var player = { "currentPosition": 0 };

for ( var i in monsterPositions ) {
monsters[i] = new createMonster("monster",monsterPositions[i],1); }

function createMonster(name,startingPoint,level) {
this.currentPosition = startingPoint; }

<td> 触发的函数点击:

function processClick(trigger){
console.log( trigger.id + " " + monsterPositions );
if ( monsterPositions.indexOf(trigger.id) >= 0 ){
if ( !fight( findMonster( parseInt( trigger.id ) ) ) ){
return;
}
}
if ( gameOn ) move( parseInt( trigger.id ) );
}

页面总是直接转到move() ,即使它是一个怪物点,这里也是console.log()结果:

1 2,8,13,15,22 adventure.js (line 79)
2 2,8,13,15,22 adventure.js (line 79)
7 2,8,13,15,22 adventure.js (line 79)
8 2,8,13,15,22 adventure.js (line 79)
13 2,8,13,15,22 adventure.js (line 79)
18 2,8,13,15,22 adventure.js (line 79)
23 2,8,13,15,22 adventure.js (line 79)
22 2,8,13,15,22 adventure.js (line 79)
21 2,8,13,15,22 adventure.js (line 79)
20 2,8,13,15,22 adventure.js (line 79)
15 2,8,13,15,22 adventure.js (line 79)

(link here if above code isnt enough) ,我很难过请帮忙。(当然为什么我会在这里)

最佳答案

trigger.id 可能会返回一个字符串,其中您的数组中全是数字。

This jsfiddle展示了它的实际操作以及它如何处理数字以及如何使用 parseInt() 将字符串 ID 转换为数字。

关于javascript indexOf 总是返回 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18524442/

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