我正在测试看到哪三个数字中的哪一个是最大的,并通过一个函数返回。但是,我不断收到语法错误:SyntaxError:missing; before statement} else(第三个>第一个&&第三个>第二个){
以下是代码:
function getMax3(first, second, third) {
if (first > second && first > third){
return first;
} else if (second > first && second > third) {
return second;
}else (third > first && third > second) {
return third;
}
}
console.log(getMax3(10, 3, 4));
console.log(getMax3(1, 6, 9));
答案 0 :(得分:6)
正如其他人所说,你当然可以使用Math.max function or Math.max.apply来解决这个问题。但要回答有关此特定语法错误的问题,以下解决方案适用。
你不能在else
上有条件。您可以将最后一个else
更改为else if
,或者只是删除条件,然后让其他人抓住所有内容,而不是第一个条件
所以:
function getMax3(first, second, third) {
if (first > second && first > third){
return first;
} else if (second > first && second > third) {
return second;
}else {
return third;
}
}
console.log(getMax3(10, 3, 4));
console.log(getMax3(1, 6, 9));
或
function getMax3(first, second, third) {
if (first > second && first > third){
return first;
} else if (second > first && second > third) {
return second;
}else if(third > first && third > second) {
return third;
}
}
console.log(getMax3(10, 3, 4));
console.log(getMax3(1, 6, 9));
答案 1 :(得分:0)
试试这个
function getMax3(first, second, third) {
if (first > second && first > third){
return first;
} else if (second > first && second > third) {
return second;
}else {//the else cannot have condition
return third;
}
}
console.log(getMax3(10, 3, 4));
console.log(getMax3(1, 6, 9));
这是因为从您的编码中我们可以看到您已将条件包含在else语句中。有关详细信息,请查看>> http://www.w3schools.com/js/js_if_else.asp
答案 2 :(得分:0)
function getMax3(first, second, third) {
if(first > second && first > third){
return first;
} else if(second > first && second > third) {
return second;
}else if(third > first && third > second) {
return third;
}
}
console.log(getMax3(10, 3, 4));
console.log(getMax3(1, 6, 9));
这是修改后的代码。 试试这个......
答案 3 :(得分:0)
您可以将所有元素放在数组中并添加此原型,以便在所需的元素中找到最大值:
Array.prototype.max = function () {
return Math.max.apply(null, this);
};
前:
var arr = [4,5,6,7,73,53,123,53];
var maxVal = arr.max();