(-n + 5)
для первых пяти.:nth-child(-n + 5)
выбирает первые 5 Math.floor()
Math.random()
по определению никогда не вернёт 1:получение всех кратных чисел
function getSequence(n) {
const length = 15; // или вычислить 3 * 5
const block = [0, 3, 5, 6, 9, 10, 12,]; // или вычислить один раз
const fit = n / length;
const fullBlocks = Math.floor(fit);
const result = [];
// кирпичи целиком
for (let i = 0; i < fullBlocks; i++)
result.push(...block.map((v) => v + length * i));
// последний кирпич кусочками по одному
for (let i = 0; i < block.length; i++) {
const value = block[i] + length * fullBlocks;
if (n < value) break;
result.push(value);
}
return result;
}
map()
и filter()
возвращают новый массив. sort()
сортирует in-place (на месте), т.е. изменяет исходный массив.map()
менять объекты в исходном массиве function doubleAge(arr) {
arr.map((person) => person.age *= 2); // эффект тот же,
// т.к. person объект, переданный по ссылке
}
Возвращаемое map()
значение просто не используется. Но это как-то.. неправильно. Семантически неверно — есть же для этого метод forEach()
age
, поменяли его — это так и осталось в Лас-Вегасе.
Пробуйте ИЛИ, это сработает именно как требуется: