Size: a a a

2021 April 27

A

Arseny in JS Liberty
Спасибо, интересно посмотреть.
источник

DE

Denis Efremov in JS Liberty
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12].reduce((acc, cur, idx) => {
 const idxO = parseInt(idx / 6)
 const idxI = parseInt(idx % 6 / 2)
 acc[idxO] = acc[idxO] || []
 acc[idxO][idxI] = acc[idxO][idxI] || []
 acc[idxO][idxI].push(cur)
 return acc
}, [])
источник

В

Влад in JS Liberty
Капец жосткий
источник

DE

Denis Efremov in JS Liberty
Зато 1 проход
источник

В

Влад in JS Liberty
Ну это да
источник

DE

Denis Efremov in JS Liberty
Жесткий капец переписать это на вайл
источник

В

Влад in JS Liberty
Почему
источник

DE

Denis Efremov in JS Liberty
Ну попробуй
источник

DE

Denis Efremov in JS Liberty
Но по хорошему надо так:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12].reduce((acc, cur, idx, { length }) => {
 const idxO = parseInt(idx / parseInt(length / 2))
 const idxI = parseInt(idx % parseInt(length / 2) / 2)
 acc[idxO] = acc[idxO] || []
 acc[idxO][idxI] = acc[idxO][idxI] || []
 acc[idxO][idxI].push(cur)
 return acc
}, [])
источник

DE

Denis Efremov in JS Liberty
Кстати, эквивалент parseInt — это бинарное или на 0
источник

DE

Denis Efremov in JS Liberty
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12].reduce((acc, cur, idx, { length }) => {
 const idxO = (idx / ((length / 2) | 0)) | 0
 const idxI = (idx % ((length / 2) | 0) / 2) | 0
 acc[idxO] = acc[idxO] || []
 acc[idxO][idxI] = acc[idxO][idxI] || []
 acc[idxO][idxI].push(cur)
 return acc
}, [])
источник

DE

Denis Efremov in JS Liberty
Работать должно в разы быстрее, но нельзя указать radix
источник

p

persona x grata in JS Liberty
Это не для тупых
источник

DE

Denis Efremov in JS Liberty
Это простая математика. Я сначала выписал в столбик индексы массивов для вставки на каждой итерации. Смотри
источник

p

persona x grata in JS Liberty
ну я консоль логнул idxO, idxI, вроде понятно
источник

В

Влад in JS Liberty
Токо тут 2 и 3 указываются в функции
источник

DE

Denis Efremov in JS Liberty
000
001
010
011
020
021
100
101
110
111
120
121
источник

DE

Denis Efremov in JS Liberty
С первым индексом всё ясно - это parseInt / 6. С последним тоже, его пуш делает
источник

В

Влад in JS Liberty
Это то шо я щас учу по теории чисел
источник

В

Влад in JS Liberty
Ехех
источник