Сложить элементы в массиве JavaScript?
Я не понимаю, здесь подразумевалось что можно править код функции или ее нужно вызвать как-то хитро? К тому же у нее нет return. Как с ней обращаться?
- Вопрос задан более трёх лет назад
- 7640 просмотров
Комментировать
Решения вопроса 1
Frontend Developer
Надо хитрым образом подсчитать, а на счет правки, скорее всего это ошибка автора данного сайта
var list = [1, 2, 3, 4, 5, 6]; function sum() < var sum = 0; for (i=0; ireturn sum > sum.apply(null, list) // output => 21
Ответ написан более трёх лет назад
Как сложить все элементы массива js
Можно использовать обычный цикл, но есть более красивое решение. Метод reduce() , принимает в качестве аргумента массив и колбек функцию, которая применяется к каждому элементу массива и таким образом позволяет найти их сумму. Вот пример:
const numbers = [1, 2, 3, 4]; const sumOfNumbers = numbers.reduce((acc, number) => acc + number, 0); console.log(sumOfNumbers); // => 10
27 октября 2022
Немного улучшу reduce .
acc + number);
А за такое использование map могут и побить. Если уж и хочется из цикла что-то менять снаружи (что почти всегда плохая идея), то для этого используют forEach . Map возвращает значение, которое должно быть использовано. И map не должен менять ничего извне. Иначе код становится сложноподдерживаемым.
19 октября 2022
Помимо стандартного перебора значений и красивого метода reduce(), можно воспользоваться функцией высшего порядка map:
const numbers = [1, 2, 3]; let sum = 0; numbers.map((item) => sum += item); console.log(sum); // => 6
И для любителей библиотеки Lodash доступен метод _.sum():
const numbers = [1, 2, 3]; console.log(_.sum(numbers)); // => 6
Хочу сложить элементы массива, так , как это делалось бы в столбик на бумаге
Есть три массива : в первый ввожу число ,например, 12345, во второй ввожу число 22222 , соответственно в третий массив записываю результат сложения этих двух чисел, так , как будто бы это было посчитано на бумажке(ну сложение в столбик) Вот код:(ошибка в нем есть, конечно же)
#define _CRT_SECURE_NO_WARNINGS #include #include void main(void) < int A[5], B[5], C[10], i = 0, j = 0, k = 10; for (i = 0; i < 5; i++) < A[i] = getchar(); >for (i = 0; i < 5; i++) < B[i] = getchar(); >for (i = 4; i >= 0; i--) < for (j = 4; j for (i = 0; i _getch(); >
Вот еще один вопрос: насколько целесообразно вводить посимвольно цифры числа через getchar() , просто иначе придется постоянно нажимать Enter после ввода каждой цифры.И можно ли хранить знак минус в интовом массиве ,
Отслеживать
задан 29 ноя 2017 в 18:38
1,790 1 1 золотой знак 19 19 серебряных знаков 36 36 бронзовых знаков
Для начала, обнулите массивы, вводите . = getchar() — ‘0’; (получите бинарное представление десятичных цифр), обязательно проверяйте и если получили неправильное число, переходите к следующему шагу. А при сложении учитывайте перенос в старший разряд. И кстати, вложенные циклы при сложении — это ошибка.
Как сложить элементы массива

Не устроил ответ?
Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.
Реклама
Новые вакансии
- Вакансия «Прораммист/разработчи 1С» Екатеринбург от Денис Спеиалист
Вчера в 13:10 - Вакансия Стажер Аналитик от Elizavetashkr
17 ноября 2023 г. - Вакансия Стажер Программист 1С от Elizavetashkr
17 ноября 2023 г.
