Как выделить индекс первого элемента массива, соответствующего условию?
Привет
Вот, пишу калькулятор на свой сайт - он должен подсказать посетителю, какого сечения нужно выбрать провод, чтобы электроснабжать его мощность. Сечения, токи по меди и люминю я записал в 3 массивах. Умел бы работать с многомерными - записал бы иначе. В общем, мне нужно, чтобы программа по нажатию кнопки рассчитала ток из мощности, перебрала токи по меди, подцепила номер в массиве токов по меди, по этому номеру вывела сечение из массива сечений. Аналогично с люминем. Сообщите, пожалуйста, как организовать описанный перебор и подцеп.
Вот скрипт из поля js моей песочницы на codepen.io.
Текущий код сохраняет в переменной pointer не первый индекс из массива токов, удовлетворяющий условию, а последний. А нужно, чтобы первый - именно тогда выводится будет минимальное сечение провода, способного длительно выдерживать расчетный ток.
const v = document.getElementById('voltage').value;
let cables = [2.5, 4, 6, 10, 16, 25, 35]; //сечения
let currentsal = [16, 21, 26, 38, 55, 65, 75]; //токи по люминю
let currentscu = [21, 27, 34, 50, 70, 85, 100];//токи по меди
var pointer=25; объявление переменной указателя и присвоение тестового значения
function GetResult()
{
const v = document.getElementById('voltage').value;
var p = parseFloat(document.calcform.p.value.replace(',', '.'));
var p = document.calcform.p.value; //Ввод активной мощности
var p = parseFloat(document.calcform.p.value.replace(',', '.'));
var isred;//Объявление и расчет среднего тока из полной мощности
if (document.getElementById("id4").checked){phases=3} else {phases=1}; //проверка переключателя фаз
if (phases==3){isred=p/v*1000/1.732}; //расчет тока для 3 фаз
if (phases==1){isred=p/v*1000;}; //для 1й
document.calcform.isred.value = isred.toFixed(2); //вывод рассчитанного из мощности и кол-ва фаз тока
for (let i = 0; i < currentscu.length; i++) {
if (isred
}
otvetcu=cables[pointer]; //присвоение значения промежуточной переменной для вывода
document.getElementById("otvetcu").textContent = otvetcu; //вывод сечения по меди
for (let i = 0; i < currentsal.length; i++) {
if (isred
}
otvetal=cables[pointer];
document.getElementById("otvetal").textContent = otvetal; //вывод сечения по люминю
document.getElementById("btnadd").value = "Еще раз?"; //кнопка меняет надпись