问题
I am having an issue on my problem where the console is saying
SyntaxError: Unexpected token {
and I'm not sure where it's coming from. I am a JS newbie, just learning this stuff. Would you mind pointing out where I am going wrong with my brackets please.
var myArray = [4, 6, 23, 10, 1, 3];
var arrayAdditon = function (arr) {
var largestNumber = arr[0];
var sumTotal;
for (var i = 0; i < arr.length; i += 1) {
if (arr[i] > largestNumber) {
largestNumber = arr[i];
}
}
for (var i = 0; i < arr.length; i += 1) {
if (largestNumber) {
console.log(largestNumber);
} else (arr[i] != largestNumber) {
sumTotal += arr[i];
}
}
if (largestNumber === sumTotal) {
return true;
} else {
return false;
}
}
回答1:
I think you have a bug in your if...else part, try changing to this.
if (largestNumber) {
console.log(largestNumber);
} else if (arr[i] != largestNumber) {
sumTotal += arr[i];
}
If this doesn't work comment me the full error you got. Try to inspect it in firebug console. Hope this helps you.
回答2:
Your code updated here....
var myArray = [4, 6, 23, 10, 1, 3];
var arrayAdditon = function (arr) {
var largestNumber = arr[0];
var sumTotal;
for (var i = 0; i < arr.length; i += 1) {
if (arr[i] > largestNumber) {
largestNumber = arr[i];
}
}
for (var j = 0; j < arr.length; j += 1) {
if (largestNumber) {
console.log(largestNumber);
} else if (arr[i] != largestNumber) {
sumTotal += arr[i];
}
}
if (largestNumber === sumTotal) {
return true;
} else {
return false;
}
};
回答3:
error in syntax else (arr[i] != largestNumber)
put if there
回答4:
I can not see a missing {
but
} else (arr[i] != largestNumber) {
sumTotal += arr[i];
}
should be
} else if (arr[i] != largestNumber) {
sumTotal += arr[i];
}
回答5:
Here is the fixed one.
var myArray = [4, 6, 23, 10, 1, 3];
var arrayAdditon = function (arr) {
var largestNumber = arr[0],
sumTotal, i;
for (i = 0; i < arr.length; i += 1) {
if (arr[i] > largestNumber) {
largestNumber = arr[i];
}
}
for (i = 0; i < arr.length; i += 1) {
if (largestNumber) {
console.log(largestNumber);
} else if(arr[i] != largestNumber) {
sumTotal += arr[i];
}
}
if (largestNumber === sumTotal) {
return true;
} else {
return false;
}
};
arrayAdditon( myArray );
Thanks to JSHint.
来源:https://stackoverflow.com/questions/20795000/syntaxerror-unexpected-token-in-javascript