Javascript 函数检查给定整数数组中给定位置的元素是否大于其两个相邻值

Javascript 函数检查给定整数数组中给定位置的元素是否大于其两个相邻值,javascript,Javascript,我在这里以及标题中添加了我的问题: 函数检查给定整数数组中给定位置的元素是否大于其两个相邻元素。 以下是我的示例代码: `var dTest = new Array(); dTest[0] = 1; dTest[1] = 2; dTest[2] = 3; dTest[3] = 4; dTest[4] = 5; for (i=0;i<11;i++){ if(dTest[i]>dTest[i+1] && dTest[i]>[i-1])

我在这里以及标题中添加了我的问题: 函数检查给定整数数组中给定位置的元素是否大于其两个相邻元素。 以下是我的示例代码:

`var dTest = new Array();

 dTest[0] = 1;
 dTest[1] = 2;
 dTest[2] = 3;
 dTest[3] = 4;
 dTest[4] = 5;

for (i=0;i<11;i++){

    if(dTest[i]>dTest[i+1] && dTest[i]>[i-1])

    {
        console.log("");
    }

    else 

    {
        console.log("");
    }

};`
`var dTest=new Array();
dTest[0]=1;
dTest[1]=2;
dTest[2]=3;
dTest[3]=4;
dTest[4]=5;
对于(i=0;idTest[i+1]&&dTest[i]>[i-1])
{
控制台日志(“”);
}
其他的
{
控制台日志(“”);
}
};`

因此,我正在尝试的是写在标题。Thx:)

首先,出于某种原因,您的
for
循环将一直持续到
11
(神奇数字?为什么是11,这毫无意义)。将循环更改为按数组长度运行,然后检查“左”或“右”是否存在数字,如果存在,则执行逻辑:

for (var i = 0; i < dTest.length; i++) {
    if (dTest[i-1] != undefined && dTest[i+1] != undefined) {
        //this position has neighbors!
        var current = dTest[i];
        if (current > dTest[i-1] && current > dTest[i+1]) {
            console.log(current + " is bigger than it's neighbors!");
        } else {
            console.log(current + " is smaller than it's neighbors!");
        }
    } else {
        console.log(dTest[i] + " doesn't have enough neighbors!");
    }
}
for(变量i=0;i数据测试[i-1]&当前>数据测试[i+1]){
log(当前+“比它的邻居大!”);
}否则{
log(当前+“比它的邻居小!”);
}
}否则{
log(dTest[i]+“没有足够的邻居!”);
}
}

演示:

您在检查数组中不存在的索引时遇到问题。此解决方案应解决此问题:

for (var i = 0; i < dTest.length; i++) {
    if ((dTest[i-1] != undefined && dTest[i-1] > dTest[i]) ||
        (dTest[i+1] != undefined && dTest[i+1] > dTest[i])) {
         console.log('Element at position ' + i + ' is not bigger than his neighbours');
    } else {
         console.log('Element at position ' + i + ' is bigger than his neighbours');
    }
}
for(变量i=0;idTest[i])||
(dTest[i+1]!=未定义和&dTest[i+1]>dTest[i])){
log(“+i+”位置的元素不比其相邻元素大”);
}否则{
log(“+i+”位置的元素比其邻居大”);
}
}

那么您当前的代码有什么问题?你有什么问题?好的,谢谢。我相信这是正确的解决办法。也给了我“没有邻居”的选择,非常感谢:)