function with6(){
let a = +num21.value;
let b = +num22.value;
let c = +num23.value;
let d = +num24.value;
let e = +num25.value;
let f = +num26.value;
let max;
let min;
let mid1;
let mid2;
let mid3;
let mid4;
let max1;
let min1;
let max2;
let min2;
let max3;
let min3;
if(a>b){
max1 = a;
min1 = b;
}else{
max1 = b;
min1 = a;
}
if(c>d){
max2 = c;
min2 = d;
}else{
max2 = d;
min2 = c;
}
if(e>f){
max3 = e;
min3 = f;
}else{
max3 = f;
min3 = e;
}
if(max1>max2){
max = max1;
mid1 = max2;
}else{
max = max2;
mid1 = max1;
}
if(min1<min2){
min = min1;
mid2 = min2;
}else{
min = min2;
mid2 = min1;
}
if(max2>max3){
max = max2;
mid3 = max3;
}else{
max = max3;
mid3 = max2;
}
if(min2<min3){
min = min2;
mid4 = min3;
}else{
min = min3;
mid4 = min2;
}
if(mid1<mid2){
rez.innerHTML = min+','+mid1+','+mid2+','+mid3+','+mid4+','+max
}else{
rez.innerHTML = min+','+mid2+','+mid1+','+mid3+','+mid4+','+max
}
if(mid3<mid4){
rez.innerHTML = min+','+mid1+','+mid2+','+mid3+','+mid4+','+max
}else{
rez.innerHTML = min+','+mid1+','+mid2+','+mid4+','+mid3+','+max
}
}
<input id="num21">
<input id="num22">
<input id="num23">
<input id="num24">
<input id="num25">
<input id="num26">
<button onclick="with6()">сортировать</button>
<h1 id="rez" style="margin: auto"></h1>
написал вот по такому алгоритму с четыремя числами, всё получилос, теперь задача с 6 числами не выходит,использовать sort нельзя
А если чисел будет 46?
Сделайте вот так:
function sortInputs() {
let array = document.querySelectorAll('.inputs input');
array = Array.from(array);
let sortedArray = array.sort((a, b) => a.value - b.value);
let parent = document.querySelector('.inputs');
while (parent.hasChildNodes()) {
parent.removeChild(parent.firstChild);
}
sortedArray.forEach(function(elem) {
parent.appendChild(elem);
});
}
function selfRandom(min, max)
{
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function addInput() {
let parent = document.querySelector('.inputs');
let elem = document.createElement("input");
elem.type = "text";
elem.class = "number_input";
elem.value = selfRandom(1, 10);
parent.appendChild(elem);
}
.container {
max-width: 500px;
}
.inputs {
display: flex;
flex-wrap:wrap;
justify-content:space-between;
}
.inputs input {
flex: 0 0 48%;
margin-top: 10px;
}
.buttons {
display: flex;
margin-top: 15px;
justify-content: space-between;
}
.buttons button {
flex: 0 0 48%;
border: 1px solid #fff;
border-radius: 5px;
padding: 15px 0px;
font-size: 17px;
}
.buttons button.add {
color: #004085;
background-color: #cce5ff;
border-color: #b8daff;
}
.buttons button.sort {
color: #155724;
background-color: #d4edda;
border-color: #c3e6cb;
}
<div class="container">
<div class="inputs">
<input type="text" class="number_input">
<input type="text" class="number_input">
<input type="text" class="number_input">
<input type="text" class="number_input">
<input type="text" class="number_input">
<input type="text" class="number_input">
</div>
<div class="buttons">
<button onclick="sortInputs()" class="sort">Сортировать</button>
<button onclick="addInput()" class="add">Добавить input</button>
</div>
Вы делаете из набора input элементов сначала NodeList, затем Array, затем сортируете его по возрастанию и затем заменяете отсортированными изначальные inputs.
Для работы не требуются id элементов, функции не ограничены количеством, можно работать динамически с элементами - сплошные плюсы.
Будут вопросы по коду - постараюсь ответить.
Есть вариант проще. Зачем такие сложности:
function with6() {
var nums = document.getElementsByClassName('inp'); // Получаем все элементы с классом inp
let arr = [];
for (i = 0; i < nums.length; i++){ // Выполняем действие для каждого элемента. nums.length тут это количество найденных элементов, можно так же через forEach
let val = nums[i].value; // Получаем значение каждого элемента
arr.push(val); // Добавляем в массив
}
let obj = arr.reduce((o, v, i) => { o[v] = v; return o; }, {}); // Проводим сортировку массива
arr = Object.keys(obj).map(num => parseInt(num)); // Пересобираем массив.
document.getElementById('rez').innerText = arr;
console.log(arr); // выводим новый массив
}
<input id="num21" class="inp">
<input id="num22" class="inp">
<input id="num23" class="inp">
<input id="num24" class="inp">
<input id="num25" class="inp">
<input id="num26" class="inp">
<button onclick="with6()">сортировать</button>
<h1 id="rez" style="margin: auto"></h1>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Стоит задача написать web приложение на Java (backend) и html+css+javascript(frontend)Java более мение знаю (серверная часть с обращением к главной html страницы написаны...
Я пытаюсь разобраться что натворил разработчик но я не могу понять как это блин работает
У меня есть страница с товарами, на неё сразу выводится 12 товаров, а потом когда страница проскроллилась до конца, скрипт обращается к PHP, передает...