Функция partitionOn
принимает 2 аргумента, pred
— это функция задающая условия выборки элементов из массива items
.
Функция должна возвращать длину нового массива с элементами удовлетворяющими pred
. А также изменять массив items
, который принимает в качестве аргумента.
В моем коде items
не изменяется во внешней области видимости. Как сделать чтобы он изменялся?
В консоли пишу
window.items.concat(arrPredFalse, arrPredTrue);
и работает, но codewars
выдает ошибку.
function partitionOn(pred, items) {
var arrPredTrue = [];
var arrPredFalse = [];
for (var i = 0; i < items.length; i++) {
if (pred(items[i])) {
arrPredTrue.push(items[i]);
} else {
arrPredFalse.push(items[i]);
}
}
items.concat(arrPredFalse, arrPredTrue);
return arrPredTrue.length;
}
Функция concat
не изменяет массив, а создаёт новый.
Для того чтобы items
изменился нужно делать так:
items = arrPredFalse.concat( arrPredTrue );
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Нужно передать диву ширину, значение которой вычисляется в JS