У меня есть массив объектов
var carList = [
{
car: "maruti",
colors: ["red", "redish","yellow"]
},
{
car: "ferrari",
colors: ["purple", "red"]
},
{
car: "Merc",
colors: ["pink", "green"]
}
];
Теперь у меня есть поле поиска, в котором пользователь может ввести цвет автомобиля. поэтому, если пользователь вводит красный, должны быть возвращены только объекты maruti
и ferrari
. и если пользователь вводит reddi sh, то должен быть возвращен только объект maruti
.
Я пробовал использовать вложенный фильтр
var textToSearch = "re";
var test = carList.filter((x) => x.colors.filter((y)=> y.indexOf("textToSearch") > -1) );
Даже если строка поиска состоит всего из 2 символов, например " re ", тогда он также должен возвращать maruti и ferrari в качестве вывода.
но это возвращает все объекты, а не только maruti и ferrari
Примечание : я хочу, чтобы он возвращал все совпадающие элементы, а не только первый совпадающий элемент.