Нужно всем объектам в этом массиве при выборе пользователем art добавить chk=1,а с при снятии добавить chk=0
Делаю так
При нажатии на чекбокс отбираю из массива все id с выбранным art и пытаюсь им добавить новое свойство со значением
Arr.filter(function(e){
return e.id = $(this).val();
}).map(item=>({chk:1}));
И, конечно же не работает
Подскажите, пожалуиста, что не так делаю?
Даже не знаю с чего начать xD
у вас в чебоксе в value id лежит или как?
нихрена не понимаю, если честно можно в песочницу?
вы, кстати, ничего никуда не добавляете
чему равен this внутри функции фильтра?
чехбокс, похоже
по коду не похоже
я потому и попросил в песочницу)
Так потому и спрашиваю С обеда гуглю, не нашёл ответа
Как он может быть равен чему то кроме window?
ну так бегайте просто форичем и мутируйте тогда
а я, кстати, не увидел, что там не стрелка, думал, там от ивента скачет this, ладно, был неправ
Нагуглил, что map переписывается массив, а filter отфильтровывает
мап не переписывает массив, а возвращает новый
Мало того, он в filter мутирует id
будьте так благосклонны к нам, добавьте наконец-то код в песочницу
Причём создаёт массив объектов вида [{chk:1}, {chk:1}, {chk:1},...]
так я выше о том и сказал, что ничего там никуда не добавляется, а происходит некоторая муть
return e.id = $(this).val() - насмешило
не трогайте этот код,там всё разваливается вообще
Обсуждают сегодня