Вложенный фильтр с условным оператором, который не отображается так, как я собираюсь - PullRequest
0 голосов
/ 25 апреля 2020
function destroyer(...arr) {
    let org = arr[0];
    let cut = arr.splice(1,);
    let result = [];
    let des = org.filter( v =>
        cut.filter( j => {
            if (v == j) {
                false
            }
            else {
                result.push(v)
            }
        })
    )

    console.log(result)
}

destroyer([1, 2, 3, 2, 3],4, 2, 3)

ОК. Итак, я учусь в Интернете, как сделать «промежуточную» проблему, и я не уверен, почему это не работает. Я хотел бы разбить исходный массив, который нужно уничтожить, на две части: org и cut. Мне нужно удалить любые значения в орг, которые появляются в разрезе. Таким образом, я вложил фильтр в фильтр, установил v и j, которые соответствуют, чтобы быть ложным и выдвинул то, чего не было, и я получил. [1,1,1,2,2,3,3,2,2,3,3]

1 Ответ

0 голосов
/ 25 апреля 2020

Если все, что вы пытаетесь сделать, это удалить значения вне массива, из массива, тогда это должно быть простое использование фильтра.

function destroyer( org, ...cut ) {
  let result = org.filter( v => cut.indexOf( v ) < 0 );
  
  console.log( result );
}

destroyer( [ 1, 2, 3, 2, 3 ], 4, 2, 3 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...