@zeni1agent

Как использовать filter на объекте?

Я хочу сделать не точный поиск по объекту и получить обратно ключи объектов которые проходят проверку
var word = $(this).val() // == 'val'

var my_obj =	{
		'1':{'text':'val-1'},
		'2':{'text':'val-2'},
		'3':{'text':'val-3'}
	};


const m = my_obj.filter(function (e) {
		if (e.text.indexOf(word) != -1 ){
		  return key;
		}
});
console.log(m);

Как я могу это сделать?
Менять сам объект я не могу.
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
@xenonhammer
это свойство существует только в прототипе массивов, есть вариант для вас
Object.values(my_obj).filter( e => e.text.indexOf(word) != -1)

на выходе массив с нужными объекстами
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@drawnofmymind
Нет,это метод массивов.Преобразуйте ваш обьект к массиву [...Object.values(my_obj)]
Ответ написан
Комментировать
StepanTur
@StepanTur
fullstack node js react native mobile developer
Object.keys(my_obj).filter((el,id)=>my_obj[el].text==='val-2')
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы