Помогите , элементы массива по порядку из другого массива
Вложений: 3
Делаю скрипт для сверки размеров обуви , есть 5 массивов, и нужно по порядковому номеру объетка из массива доставать объект того-же номера из другого массива , помогите , как можно это реализовать.(Я совсем новичек в js , просто не смог найти в Гугле , как это сделать)
|
сделайте тестовый HTML, и напишите подробней что не получается, не понятно чего вы хотите.
обращение к ячейке массива через квадратные скобки arr[номер ячейки, отсчет с нуля] |
Мне нужно , что бы при вводе допустим 35(допустим 2 номер в массиве) размера , и выборе типа EUR и 2 типа US, программа находила в массиве с US размерами так же 2 по порядку объект и выводила его.На сколько я понимаю , это делается через for , или foreach ,а как именно разобраться не могу.
|
Rost_shat,
лучше код, а не картинки! |
<!DOCTYPE html> <html lang="ru"> <head> <title>Конвертер размеров обуви</title> <link rel="stylesheet" type="text/css" href="css.css"> <script src="js.js"> </script> </head> <body> <div class="table"> <h2>КОНВЕРТЕР РАЗМЕРОВ </br>ОБУВИ v0.1</h2> <img src="src/krosi.png"> <form action="" method="post" name="users" id="form" > <h3>Введите ваш размер</h3> <input type="number" name="user" id="user"> <h3 class="type">Тип:</h3> <select class="usersize" id="usert"> <option>Classic</option> <option>US</option> <option>UK</option> <option>EUR(FR)</option> <option>sm</option> </select> <h3 class="type2" id="test">Нужный вам тип</h3> <select id="needt"> <option>Classic</option> <option>US</option> <option>UK</option> <option>EUR(FR)</option> <option>sm</option> </select></br> <input type="button" onclick="valid(document.getElementById('form'))" name="b1" id="button" value="Рассчитать" > </br> <h3 class="type3" id="result">Результат:</h3> </form> </div> </body> </html> function valid (form){ var usersize =form.user.value; var fail=false; var usertype=form.usert.value; var needtype=form.needt.value; var res; var Classic =[35,35.5,36,36.5,37,37.5,38,38.5,39,39.5,40,40.5,41,41.5,42,42.5,43,43.5,44,44.5,45,45.5,46,46.5,47,47.5,48]; var ussize =["Размера нет","Размера нет",5,5.5,66,6.5,7,7.5,8,8.5,9,9,5,10,10.5,11,11.5,12,12.5,13,13.5,14]; var uksize=[3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,9.5,10,10.5,11,11.5,12,12.5,13,13.5]; var sm =[22.2,22.5,23,23.5,24,24.5,25,25.5,26,26.5,27,27.5,28,28.5,29,29.5,30,30.5,31,31.5,32]; var eursize=[36,'36 2/3','37 1/3','38','38 2/3','39 1/3','40','40 2/3','41 1/3','42','42 2/3', '43 1/3','44','44 2/3','45 1/3' ,'46','46 2/3','47 1/3','48','48 2/3','49 1/3',50]; if (usersize=="" || usersize==" ") {//пустое поле fail="Вы не ввели ваш размер"; } if (fail){ alert(fail);//вывод предупреждения location.reload(); } else if(usertype==needtype){ //result.innertext ="Результат"+usersize; if (usersize<35 && usertype=='Classic' || usertype=='Classic' && usersize>48 || usersize<5 && usertype=='US'|| usersize>14 && usertype=='US'|| usersize<3 && usertype=='UK'|| usersize>13.5 && usertype=='UK' || usersize<22.2 && usertype=='sm' || usersize>32 && usertype=='sm' || usersize<36 && usertype=='EUR(FR)' || usersize>50 && usertype=='EUR(FR)') { alert("Введите правильный размер!");//неправильные размеры //location.reload(); } else/* if (usersize>=35 && usertype=='Classic' || usersize>=5 && usertype=='US' || usersize>=3.5 && usertype=='UK' ||usersize>=35 && usertype=='Classic' || usersize>=36 && usertype=='EUR(FR)'|| usersize>=22.2 && usertype=='sm')*/ { if (usertype=='sm') { document.getElementById("result").innerHTML ="Результат: "+ usersize + " "+"см"; } else{ document.getElementById("result").innerHTML ="Результат: "+ usersize + " "+needtype;//обращение к элементу с ид result и вывод на него другого текста } } } else if (usertype=='Classic') { if (needtype=='US') { for (var i = usersize; uksize==uksize; i++) { } } else if (needtype=='UK') { } else if(needtype=='EUR(FR)'){ } else if(needtype=='sm'){ } } } //location.reload(); -reload |
Rost_shat,
function fn(cur, val, met) { var objSize = {Classik : ["35","35.5"], eursize : ["36", "36 2/3"]} var idx = objSize[cur].indexOf(val); if(idx != -1 && objSize[met][idx]) return objSize[met][idx]; return false } var size = fn("Classik", "35", "eursize"); alert(size); var size = fn("Classik", "100", "eursize") alert(size); |
Цитата:
|
Конвертер размеров обуви
Rost_shat,
<!DOCTYPE html> <html lang="ru"> <head> <title>Конвертер размеров обуви</title> <script> var Classik = [35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48]; var ussize = ["Размера нет", "Размера нет", 5, 5.5, 66, 6.5, 7, 7.5, 8, 8.5, 9, 9, 5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14]; var uksize = [3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5]; var sm = [22.2, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32]; var eursize = [36, "36 2/3", "37 1/3", "38", "38 2/3", "39 1/3", "40", "40 2/3", "41 1/3", "42", "42 2/3", "43 1/3", "44", "44 2/3", "45 1/3", "46", "46 2/3", "47 1/3", "48", "48 2/3", "49 1/3", 50]; function toStr(a) { return a.map(function(a) { return a.toString() }) } var objSize = { 0: toStr(Classik), 1: toStr(ussize), 2: toStr(uksize), 4: toStr(sm), 3: toStr(eursize) }; function fn(cur, val, met) { var idx = objSize[cur].indexOf(val); if (idx != -1 && objSize[met][idx]) return objSize[met][idx]; return false } document.addEventListener("DOMContentLoaded", function() { document.querySelector("#button").addEventListener("click", function() { var cur = document.querySelector("#usert").selectedIndex, val = document.querySelector("#user").value.trim(), met = document.querySelector("#needt").selectedIndex; document.querySelector("#result").innerHTML = fn(cur, val, met) || "ошибка ввода данных" }) }); </script> </head> <body> <div class="table"> <h2>КОНВЕРТЕР РАЗМЕРОВ </br>ОБУВИ v0.1</h2> <img src="src/krosi.png"> <form action="" method="post" name="users" id="form" > <h3>Введите ваш размер</h3> <input type="number" name="user" id="user"> <h3 class="type">Тип:</h3> <select class="usersize" id="usert"> <option>Classik</option> <option>US</option> <option>UK</option> <option>EUR(FR)</option> <option>sm</option> </select> <h3 class="type2" id="test">Нужный вам тип</h3> <select id="needt"> <option>Classik</option> <option>US</option> <option>UK</option> <option>EUR(FR)</option> <option>sm</option> </select></br> <input type="button" name="b1" id="button" value="Рассчитать" > </br> <h3 class="type3" id="result">Результат:</h3> </form> </div> </body> </html> |
Конвертер размеров обуви
Rost_shat,
вариант без input и button <!DOCTYPE html> <html lang="ru"> <head> <title>Конвертер размеров обуви</title> <script> var Classik = [35, 35.5, 36, 36.5, 37, 37.5, 38, 38.5, 39, 39.5, 40, 40.5, 41, 41.5, 42, 42.5, 43, 43.5, 44, 44.5, 45, 45.5, 46, 46.5, 47, 47.5, 48]; var ussize = ["Размера нет", "Размера нет", 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9, 5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14]; var uksize = [3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5]; var sm = [22.2, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32]; var eursize = [36, "36 2/3", "37 1/3", "38", "38 2/3", "39 1/3", "40", "40 2/3", "41 1/3", "42", "42 2/3", "43 1/3", "44", "44 2/3", "45 1/3", "46", "46 2/3", "47 1/3", "48", "48 2/3", "49 1/3", 50]; function toStr(a) { return a.map(function(a) { return a.toString() }) } var objSize = { 0: toStr(Classik), 1: toStr(ussize), 2: toStr(uksize), 4: toStr(sm), 3: toStr(eursize) }; function fn(cur, val, met) { var idx = objSize[cur].indexOf(val); if (idx != -1 && objSize[met][idx]) return objSize[met][idx]; return false } function opt(i) { var o = document.querySelector("#user").options; o.length = 0; objSize[i].forEach(function(a, i) { o[i] = new Option(a,a) }) } document.addEventListener("DOMContentLoaded", function() { opt(0); document.querySelector("#form").addEventListener("change", function(event) { var cur = document.querySelector("#usert").selectedIndex; if(event.target.id == "usert") opt(cur) var val = document.querySelector("#user").value.trim(), met = document.querySelector("#needt").selectedIndex; document.querySelector("#result").innerHTML = "Результат: " + (fn(cur, val, met) || "ошибка ввода данных") }) }); </script> </head> <body> <div class="table"> <h2>КОНВЕРТЕР РАЗМЕРОВ </br>ОБУВИ v0.1</h2> <img src="src/krosi.png"> <form action="" method="post" name="users" id="form" > <h3 class="type">Выберите исходный Тип:</h3> <select class="usersize" id="usert"> <option>Classik</option> <option>US</option> <option>UK</option> <option>EUR(FR)</option> <option>sm</option> </select> <h3>Выберите ваш размер</h3> <select id="user"></select> <h3 class="type2" id="test">В какой тип конвертировать</h3> <select id="needt"> <option>Classik</option> <option>US</option> <option>UK</option> <option>EUR(FR)</option> <option>sm</option> </select></br> <h3 class="type3" id="result">Результат: 35</h3> </form> </div> </body> </html> |
Rost_shat,
var ussize = ["Размера нет", "Размера нет", 5, 5.5, 66, 6.5, 7, 7.5, 8, 8.5, 9, 9, 5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14]; |
Часовой пояс GMT +3, время: 17:04. |