Функция 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 );
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно передать диву ширину, значение которой вычисляется в JS