Имею следующее:
var numSum = function(set) {
for(i = 0, i < set.length, i++) {
var arrayValue = set[i];
var totalValue = arrayValue +
}
}
numSum([1, 2, 3, 4]);
Но все, что я вернусь, это
Uncaught синтаксическая ошибка
. Что я делаю не так?
6 ответов
Для цикла нужно ;
, а не ,
Должен быть
for(i = 0; i < set.length; i++)
Сокращенный код x=x+y
- x+=y
.
Но вы делаете это в неправильном формате.
Должен быть
totalValue += arrayValue
Если вы объявите переменную внутри цикла, она будет создаваться каждый раз с циклом.
Объявить это вне цикла.
Как это
var totalValue=0;
for(i = 0; i < set.length; i++) {
var arrayValue = set[i];
totalValue+= arrayValue ;
}
Вам не нужно объявлять дополнительную переменную для хранения.
Попробуйте вот так
var numSum = function(set) {
var totalValue=0;
for(i = 0; i < set.length; i++) {
totalValue += set[i];
}
return totalValue;
}
numSum([1, 2, 3, 4]);
Вы можете сделать это, используя Array.prototype .reduce ( ) сильный > .
Попробуйте вот так
var sum = [1, 2, 3, 4].reduce(function(prev, curr) { return prev + curr; });
Вы можете сделать это вот так.
var numSum = function(set) {
var arrayValue = 0;
for (i = 0; i < set.length; i++) {
arrayValue += set[i];
}
return (arrayValue);
};
console.log(numSum([1, 2, 3, 4]));
Так что вам нужно изменить несколько вещей в коде УРС
- Структура для цикла
- использование оператора присваивания. это должно быть как
x+y
илиx+=y
Немного улучшений
- Вы можете использовать только одну переменную для хранения суммы и можете вернуть ее.
Try this:
var numSum = function(set) {
var arrayValue = 0;
for(i = 0 ; i < set.length ; i++) {
arrayValue += set[i];
}
return arrayValue;
}
alert(numSum([1, 2, 3, 4]));
Вы получили «Uncaught Syntax Error» для этой строки
var totalValue = arrayValue +
Это должно быть
totalValue += arrayValue;
Ваша функция numSum будет похожа
function numSum (set) {
var totalValue = 0;
for(i = 0, i < set.length, i++) {
totalValue += set[i];
}
return totalValue;
}
numSum([1, 2, 3, 4]);
Есть опечатки
var numSum = function(set) {
for(i = 0; i < set.length; i++) { // replace ',' to ';'
var arrayValue = set[i];
var totalValue += arrayValue; // += operator is short of totalValue = totalValue + arrayValue
}
}
numSum([1, 2, 3, 4]);
Требуются следующие изменения:
- инициализировать
totalValue
вне цикла - правильно использовать оператор приращения
Должен быть
var numSum = function(set) {
var totalValue = 0;
for(i = 0, i < set.length, i++) {
totalValue += set[i];
}
}
numSum([1, 2, 3, 4]);
Похожие вопросы
Связанные вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.