gpt4 book ai didi

javascript - 从数组中选择元素时出现意外标识符

转载 作者:行者123 更新时间:2023-11-28 08:03:23 24 4
gpt4 key购买 nike

我正在为语法错误而抓狂:我无法弄清楚的意外标识符。我知道该错误意味着什么,但据我所知没有任何问题。

我已经发布了我正在使用的整个脚本;该代码的目的是允许用户一次一步地重玩类似五子棋的游戏。游戏数据存储在一个 csv 文件中,该文件的每一步都有一行,并且包含多个游戏。游戏由索引值来标识。

var replayArray = [],
rawData=[[]];

function importData(matchID,gI) {
var dataPromise = $.ajax({
url:"./data/" + matchID + ".csv",
dataType: 'text'
})
dataPromise.then(function(data) {
rawData = data;
rawData = String(rawData);
rawData = rawData.split(/\n/);
for (h = 0; h < rawData.length; h++){
rawData[h] = String(rawData[h]).split(",");
}
}).done(function(data){
dataToArray(gI,actionReplayKeydown);
})
}

function dataToArray(gI,cb) {

var f = 0;
var g = 0;

for (var i = 0; i < rawData.length; i++) {
var turnArray = [];
if (parseInt(eval(rawData[i][1])) === gI) {
turnArray[0] = colorToNumber(eval(rawData[i][5]));
turnArray[1] = parseInt(eval(rawData[i][6]));
replayArray[g] = turnArray;
g++;
} else {
doNothing();
}
}

cb(replayArray);
}

dataToArray函数是问题发生的地方,在行

if (parseInt(eval(rawData[i][1])) === gI) {

我认为开发工具一直表明问题发生在 rawData[i][1] 处,但 rawData 是一个二维数组,索引应该可以正常工作(rawData 的第一列包含游戏索引,我想要所有游戏索引值等于查询游戏索引的行)。

其余代码如下,但据我所知没有问题。

function colorToNumber(inputColor) {
if (inputColor === "B" ) {
return 0
} else {
return 1
}
}

function actionReplay(inputArray) {

addStone(parseInt(inputArray[f][1]),parseInt(inputArray[f][0]));
f++;
$('#whiteLastMove').remove();
$('#blackLastMove').remove();
if ((f+1)===inputArray.length){
$(document).off('keyup').on('keyup',function(e){
if (e.keyCode === 32) {
clearBoard();
createTiles(M,N);
replayArray = [];
rawData="";
}
});
}
}

function actionReplayKeydown() {
$(document).off('keyup').on('keyup',function(e) {
if (e.keyCode === 13) {
actionReplay(replayArray);
evaluateWin(0);
evaluateWin(1);
} else if (e.keyCode === 32) {
clearBoard();
createTiles(M,N);
replayArray = [];
rawData="";
} else {
doNothing();
}
});
}

function playReplay(matchID,gI) {
openCurtain(doNothing);
importData(matchID,gI);
}

我确信我错过了一些明显的东西,但我只是没有自己弄清楚。

最佳答案

问题是rawData[i][1]的值存在js语法错误。如果您使用调试器,您可以看到该值并检查它是否是可供 eval 执行的有效 js。

关于javascript - 从数组中选择元素时出现意外标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25097538/

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