2016-09-14 3 views
-1

Я пытаюсь установить новое состояние для моей реакции проекта, и я застрял на том, что я делаю wrong.I хочу, чтобы получить разницу в 2 целых массивовИспользование разницы от Lodash

const results = _.difference(items, currSelection); 
    this.setState({ selected: results }); 

currSelection является:

[1, 2, 3, 7] 

деталь:

[1] 

когда я console.log результаты, я всегда получаю

[] 

ответ

1

Реверс аргументы, как показано ниже:

const currSelection = [1, 2, 3, 7]; 
const items = [1]; 
const results = _.difference(currSelection, items); 

console.log(results); //[2, 3, 7] 
0

_.difference(array, [values])

Создает массив значений массива, не включенных в другие массивы данных> используя SameValueZero для сравнения равенства. Порядок значений результата> определяется порядком их возникновения в первом массиве.

Аргументы

array (Массив): Массив для проверки.

[values] (... Array): значения для исключения.

Возвращает

(Array): Возвращает новый массив отфильтрованных значений.

+0

Является ли этот ответ чем-то отличным от комментария, предлагающего OP читать документы? Что сделал ФП неправильно? Как он может это исправить? –

Смежные вопросы