Перемножение элементов массива javascript
Есть массив masA = [13, 12, 10, 15, 55, 66, 12, 13.1, 9, 11] - мне нужно перемножить, каждый элемент массива с двумя последующими, полученный результат проверить на удовлетворение условия (сумма должна быть больше значения переменной srA), если условие удовлетворено умножение прекращается, вывести в консоль элементы массива, которые дали удовлетворяющий результат. В умножении участвует 3 элемента. К примеру 13х12х10 = 1560; затем 12х10х15 = 1800; затем 13х10х15 = 1950 - и так далее, надеюсь суть понятна. Подскажите как мне подобное реализовать?
let masA = [13, 12, 10, 15, 55, 66, 12, 13.1, 9, 11];
let srA = 2000;
let perA; // полученный результат с умножения
let elM1; // элемент массива 1
let elM2; // элемент массива 2
let elM3; // элемент массива 3
let allElM = 'Элементы:' + elM1 + ',' + elM2 + ',' + elM3 + ';Результат:' + perA; // элементы результата
if (perA > srA) {
console.log ("найден результат, который больше 2000");
console.log (allElM);
} else {
console.log ("результат, который был бы больше 2000 - не найден");
}
Ответы (2 шт):
Автор решения: Alexandr
→ Ссылка
Как понял вопрос, примерно так:
let masA = [13, 12, 10, 15, 55, 66, 12, 13.1, 9, 11];
let srA = 2000;
masA.forEach( (i,idx) => {
if (idx + 3 >= masA.length) return;
perA = i * masA[idx + 1] * masA[idx + 2]
answer = perA > srA ? "найден результат, который больше 2000"
: "результат, который был бы больше 2000 - не найден";
console.log(`${answer} : ${perA}`)
})
Автор решения: vsemozhebuty
→ Ссылка
С возможностью обрывать проход по массиву при нахождении:
const array = [13, 12, 10, 15, 55, 66, 12, 13.1, 9, 11];
const minProduct = 2000;
let found = null;
for (let i = 0; i < array.length - 2; i++) {
const product = array[i] * array[i + 1] * array[i + 2];
if (product > minProduct) {
found = `Элементы: ${array[i]}, ${array[i + 1]}, ${array[i + 2]}; Результат: ${product}`;
break;
}
}
if (found) {
console.log(`Найден результат, который больше ${minProduct}.`);
console.log(found);
} else {
console.log(`Результат, который был бы больше ${minProduct}, не найден.`);
}