элемент на соответствие другому массиву с данными?
И типа если в массиве есть хоть одно соответствие с другим масивом с которым сравниваю то вернуть тру, иначе фолс
Поробобовал так делать, но видимо редьюс так не работает как я думал.
Как видно в коде, у меня бывает массив или не массив с данными, то если нету массивов то все работает так как нужно, если есть массив, то то что в ифе не работает.
Может кто то помочь с этим?
isVisible: function (item) {
let itemData = item.data || [];
if (this.datumArray().length && Array.isArray(itemData)) {
return itemData.reduce(function(accum, currentVal) {
let pullDatum = accum.datumArray();
return pullDatum ? pullDatum.includes(currentVal) : false;
}).bind(this);
}
return !!this.datumArray().length && this.datumArray().length > 0 ? this.datumArray().includes(itemData.name) : item;
},
я бы использовал фильтр
array.prototype.some
reduce это когда тебе надо из конфетки сделать чебурек
Что то типа такого? Вылезает ошибка, где я ошибся не подскажешь? TypeError: element.includes is not a function //Данные пришли с итема, тут массив тегов //itemData (2) [{…}, {…}]0: {name: "Test2"}1: {name: "Test3"}length: 2__proto__: Array(0) let itemData = item.tags || []; //Тут массив выбраных данных с которыми нужно сравнить let pullDatum = this.datumArray() let condition = (element) => element.includes(pullDatum); return itemData.some(condition);
includes и some это методы массива.
Обсуждают сегодня