#javascript #arrays #filter #include
Вопрос:
Мой массив выглядит так
filtervalue = xy
arr = [{id:123, name:'xyz'}, {id:122, name:'xyy'}, {id:134, name:'zzz'}]
arr.filter((i) =>
name.includes(filtervalue)
);
выше приведены ожидаемые результаты, как показано ниже
[{id:123, name:'xyz'}, {id:122, name:'xyy'}]
Я пытаюсь сделать то же самое с удостоверением личности. это дает мне ошибку
.включает в себя не является функцией.
например, когда мой фильтрвал = 12
ожидаемый результат должен быть таким, как показано ниже
[{id:123, name:'xyz'}, {id:122, name:'xyy'}]
как мне этого добиться ?
Комментарии:
1. Я думаю
name.includes(filtervalue)
, должно бытьi.name.includes(filtervalue)
Ответ №1:
Пожалуйста, используйте функцию фильтра вот так.
const filtervalue = 12
const arr = [{id:123, name:'xyz'}, {id:122, name:'xyy'}, {id:134, name:'zzz'}]
const result = arr.filter((val) => val.id.toString().includes(filtervalue.toString()))
console.log(result)
Комментарии:
1. я хочу отфильтровать его по идентификатору и получить тот же результат
2. Я обновил код с помощью функции «toString»
3. спасибо, совсем забыл, что есть такая возможность преобразовать число в строку
4. Я надеюсь, что ваша работа идет хорошо