voraa, ну вот, думал он подумает и что-то сделает, дабы понять, что решений может быть не одно, а тут бах и выложили готовое. :)
|
Просто буквально в прошлом месяце делал похожее с массивами.
Столько то элементов обработать одним способом, потом столько то другим, потом опять сколько то первым и т.д. |
Цитата:
|
:) :write:
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>checks</title> </head> <body> <div id="block"> </div> </body> <script> // Тут просто генерируем 50 чекбоксов let s = ''; let n = 50; for (let i=0; i<n; i++) s+=`${i}: <input type='checkbox' name='check'><br>`; document.getElementById('block').innerHTML = s; </script> <script> (function () { const checkbox = document.querySelectorAll("INPUT[type=checkbox]"); const length = checkbox.length; // 10 отметить, 20 пропустить, 10 отметить, 7 пропустить, 2 отметить let chsk = [10, 20, 10, 7, 2]; let n = chsk.shift(); for (let i = 0; i < length; ) { if(n--) checkbox[i++].checked = true; else if(chsk.length > 1){ i += chsk.shift(); n = chsk.shift(); } else break; } })(); </script> </html> |
Что-то слишком наворочено. :)
<script> var A = Array.from(Array(50), (x=1, i) => x+i), L = 5, B = []; for(var i=0, k=L*L; i<k; ++i) { B.push(A[Math.trunc(i/L)*L+i]) } document.write(A+'\n'+B) </script> |
рони, это пример в смысле для произвольных пропусков? Тогда наверное один раз реверс chsk, чтобы не перетряхивать постоянно массив chsk?
|
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
<script> var A = Array.from(Array(50), (x=1, i) => x+i), L = 5, B = []; for(var i=0; i<A.length; ++i) { if(Math.trunc(i/L)&1) continue; B.push(A[i]) } document.write(B) </script> |
Часовой пояс GMT +3, время: 15:25. |