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+”位置的元素比其邻居大”);
}
}
那么您当前的代码有什么问题?你有什么问题?好的,谢谢。我相信这是正确的解决办法。也给了我“没有邻居”的选择,非常感谢:)