сделал const aaa = myArray.filter()
в aaa у меня отфильтрованный массив по определённым значениям, а как взять оставшийся массив?
можно ли это сделать всё за одно действие?
Slice и индекс указываешь
мне же по определённы значениям разбить надо, а не просто так
Я бы взял либу lodash может там такое есть такая функция) либо просто перебором и сравнением, если arr.findindex(значение)===-1 то значит в массиве нет и можно запушить во 2 массив
const arr1 = []; const arr2 = []; for (const item of originalArr) { if (condition) { arr1.push(item); } else { arr2.push(item); } }
легко const input = [1,2,3,3,4,5]; const comparator = item => (item > 3); input.reduce((acc, item) => { return (comparator(item) ? acc.matched : acc.rest).push(item), acc; }, { matched: [], rest: [] })
С findindex поадэкватнее решение будет
Если надо создать второй массив из значений которых нет в 1 массиве, то arr0.forEach(e => arr1.findIndex(e)===-1?arr2.push(e):null)
чем ЭТОТ вариант не угодил?
тож норм, на вкус и цвет)
Обсуждают сегодня