Size: a a a

JavaScript — русскоговорящее сообщество

2020 October 07

D

Danila in JavaScript — русскоговорящее сообщество
Пасиб
источник

D

Danila in JavaScript — русскоговорящее сообщество
В последний момент переименовывал функцию и забыл вызов переименовать )
источник

D

Danila in JavaScript — русскоговорящее сообщество
@webben продвинутый компаратор, как заказывал )
источник

AP

Anton Permyakov in JavaScript — русскоговорящее сообщество
даже как-то слишком продвинуто :)
источник

IL

Igor Lesnevskiy in JavaScript — русскоговорящее сообщество
Danila
const arraysComparator = elementsComparator => (arrayA, arrayB) => {
 let result = 0;
 let iterationsCap = Math.max(arrayA.length, arrayB.length);

 for (let i = 0; i < iterationsCap; i++) {
   const elementA = arrayA[i];
   const elementB = arrayB[i];
   if (elementA !== elementB) return elementsComparator(elementA, elementB);
 }
}


let array = [
 ["16", "19", "3"],
 ["16", "18", "2"],
 ["16", "21", "1"],
 ["16", "17", "0"],
 ["16", "19", "2", "20", "21"],
]


array.sort(arraysComparator((a, b) => Number(a) - Number(b)));

console.log(array);
прикольно через рекурсию получилось
источник

AP

Anton Permyakov in JavaScript — русскоговорящее сообщество
Igor Lesnevskiy
прикольно через рекурсию получилось
там нет рекурсии, это разные функции
источник

D

Danila in JavaScript — русскоговорящее сообщество
Anton Permyakov
даже как-то слишком продвинуто :)
Я такой, да
источник

D

Danila in JavaScript — русскоговорящее сообщество
Хлебом не корми дай покаррировать
источник

IL

Igor Lesnevskiy in JavaScript — русскоговорящее сообщество
Anton Permyakov
там нет рекурсии, это разные функции
а, вижу, сорян
источник

k

kostyaCheban in JavaScript — русскоговорящее сообщество
Благодарю, а с лерном уже знаком
источник

VL

V. Lavrinovics 🇦🇹... in JavaScript — русскоговорящее сообщество
Самое интересное что больше 3 чисел там никогда не может быть. и еще интересно то, что третье число не когда не может быть ниже второго.
источник

VL

V. Lavrinovics 🇦🇹... in JavaScript — русскоговорящее сообщество
Поэтому буду щас проверять. Еще )
источник

IL

Igor Lesnevskiy in JavaScript — русскоговорящее сообщество
kostyaCheban
Благодарю, а с лерном уже знаком
источник

VL

V. Lavrinovics 🇦🇹... in JavaScript — русскоговорящее сообщество
V. Lavrinovics 🇦🇹
Вот так пока что принимает все поступающии значения и отрабатывает:

const wideSort = (lastMod) => {
 
 let result = [...lastMod];
 
 for(let i = 0; i<=lastMod.length; i++){
   result.sort((arrayA, arrayB) => +arrayA[i] - +arrayB[i]);
 }
 
 return result;

}

console.log(wideSort(lastMod));
(8) [Array(2), Array(2), Array(3), Array(2), Array(2), Array(3), Array(3), Array(3)]
0: (2) ["3", "15"]
1: (2) ["3", "16"]
2: (3) ["10", "17", "20"]
3: (2) ["16", "18"]
4: (2) ["16", "18"]
5: (3) ["16", "18", "20"]
6: (3) ["16", "21", "22"]
7: (3) ["16", "19", "30"]
length: 8
__proto__: Array(0)


👍
источник

D

Danila in JavaScript — русскоговорящее сообщество
V. Lavrinovics 🇦🇹
(8) [Array(2), Array(2), Array(3), Array(2), Array(2), Array(3), Array(3), Array(3)]
0: (2) ["3", "15"]
1: (2) ["3", "16"]
2: (3) ["10", "17", "20"]
3: (2) ["16", "18"]
4: (2) ["16", "18"]
5: (3) ["16", "18", "20"]
6: (3) ["16", "21", "22"]
7: (3) ["16", "19", "30"]
length: 8
__proto__: Array(0)


👍
Последнее не на месте
источник

D

Danila in JavaScript — русскоговорящее сообщество
Должно быть ДО предпоследнего
источник

D

Danila in JavaScript — русскоговорящее сообщество
19 < 21
источник

VL

V. Lavrinovics 🇦🇹... in JavaScript — русскоговорящее сообщество
Благодарю, не заметил )
источник

D

Danila in JavaScript — русскоговорящее сообщество
V. Lavrinovics 🇦🇹
Благодарю, не заметил )
Последний что я скидывал работает как нужно + позволяет передать любую функцию сравнения элементов самих массивов, в которой можно и к числу привести и что угодно сделать
источник

D

Danila in JavaScript — русскоговорящее сообщество
источник