Javascript 遍历数组并检查某些值?
我正在尝试创建一个函数,该函数将连续循环一个数组,并检查是否还有具有特定值的元素。如果没有这些元素,那么我希望函数执行某个操作 我正在检查0。如果nothing=0,则我希望显示一个图像。这是我的建议,有什么建议吗Javascript 遍历数组并检查某些值?,javascript,arrays,loops,pacman,Javascript,Arrays,Loops,Pacman,我正在尝试创建一个函数,该函数将连续循环一个数组,并检查是否还有具有特定值的元素。如果没有这些元素,那么我希望函数执行某个操作 我正在检查0。如果nothing=0,则我希望显示一个图像。这是我的建议,有什么建议吗 function partiewin() { // On verifie si il y a encore des cases avec pour valeur '0' et si non, on fini la partie var found = fal
function partiewin() {
// On verifie si il y a encore des cases avec pour valeur '0' et si non, on fini la partie
var found = false;
for (i = 1; i <= hauteur; i++) {
for (j = 1; j <= largeur; j++) {
if (decor[i][j] != 0) {
window.alert("You win");
found = 1;
}
}
}
if (!found) {
}
}
这不管用吗?一旦地图上的所有“0”从技术上消失,我就不会收到任何警报或任何答案。由于您使用的是数组,请尝试使用数组的forEach方法: 最后,我假设您想要循环一个嵌套的数组 声明这些数组的方式可能有问题。例如,当您使用新的ArrayNumberOfIndex时,您设置的是数组的索引数,但您需要精确地设置任何值 请看这个:
var hauteur = 40;
var largeur = 20;
var decor = new Array(hauteur);
for (i=0; i <= hauteur; i=i+1)
{
decor[i] = new Array(largeur);
}
console.log(decor);
console.log(decor[0][1]);
如果hauteur和larguer是整数,那么它们只是创建了一个没有值的数组数组
请记住,如果将单个值传递给新数组,则是数组的长度,而不是值。要设置值,您需要执行诸如new Arrayvalue1、value2、value3之类的操作
请阅读以下内容:
我建议在代码中加入一些日志语句,以确保使用数组,尤其是使用具有值的数组。问题是什么?你有错误吗?它能工作吗?如果没有,它以什么方式不起作用?好吧,当在吃豆人游戏中,所有有食物的空间都消失时,一个n空的空间是2,一个食物空间是0,我没有收到窗口警报。是haueter&larguer整数吗?仔细看看你的代码。我不认为这是装饰[1][1]的目的。更多细节请参见我的答案。现在正在更新…所以这将通过我的数组检查是否有0?@JuCho您最终将通过一个多嵌套数组进行循环。我已经用js提琴更新了答案。不起作用了,我编辑了我的原始帖子以便更清楚我不太明白嵌套数组是什么?嵌套数组还是多维数组。它是一个数组,里面有数组。这是一个数字数组->var smallArray=[1,2,3]。要获取值,可以使用smallArray[0],该值为1。多维数组如下所示-var multiArray=[]、[]、[]、[]。这是1个数组中的3个数组。然后添加值。var multiArray=[[1,2,3],[4,5,6],[7,8,9]]。所以要得到8的值,可以说是multiArray[2][1]。记住,索引以0开头。
decor[1][1] = '24'; decor[1][2] = '21'; decor[4][8]='0' ; etc
var arrayOfArrays = [
[2,1,2,3,4,5],
[2,1,2,1,4,5],
[8,1,2,3,4,5],
[4,1,2,3,4,5],
[2,1,2,3,4,5],
[2,1,2,3,0,5],
];
var flag = false;
for (i=0; i<arrayOfArrays.length; i++) {
arrayOfArrays[i].forEach(function(value, index, array){
console.log(value);
if (value === 0) {
console.log('Found a value');
flag = true;
}
});
}
if (flag) {
//do work
}
var hauteur = 40;
var largeur = 20;
var decor = new Array(hauteur);
for (i=0; i <= hauteur; i=i+1)
{
decor[i] = new Array(largeur);
}
console.log(decor);
console.log(decor[0][1]);