Я пишу код узла js, который имеет возвращаемое значение из моей БД и разделен запятой, и результат следующий.
const carsList = "Audi, Ford Ikon, Mercedes Benz";
var carType = "Ford";
if (carsList.toLowerCase().indexOf(carType.toLowerCase()) > -1) {
console.log(carType + " is the car");
}
здесь я могу получить выход, поскольку Ford is the car
.
Но я хочу это, как показано ниже.
Ford Ikon is the car
.
простыми словами, если я говорю " Mercedes
или " Benz
, он должен печатать Mercedes Benz is the car
. Точно так же, если я скажу Ford
или Ikon
, он должен напечатать Ford Ikon is the car
.
В моем коде я могу проверить, но не могу получить его целое слово. сообщите мне, где я ошибаюсь и как я могу это исправить.
Спасибо
вы можете попробовать следующее:
const carsList = "Audi, Ford Ikon, Mercedes Benz";
const cars = carsList.split(',');
let carType = 'Ford';
let carFound = cars.filter(car => car.includes(carType));
if (carFound.length) {
console.log(carFound[0] + " is the car");
}
Объяснение:
прямо сейчас, предположение состоит в том, что будет существовать только 1 запись, поэтому carFound [0] используется на console.log. это можно легко преобразовать в цикл for, если в функции фильтра есть несколько машин.
const cars = carsList.split(', ');
чтобы избежать отставания в случае Ford и Mercedes.
Попробуй это:
const cars = "Audi, Ford Ikon, Mercedes Benz";
var carsArray = cars.split(',');
const manufacturerName = 'Ford';
searchForCar(manufacturerName,carsArray);
const modelName = 'Ikon';
searchForCar(modelName,carsArray);
function searchForCar(needle,haystack){
for(var i =0;i<haystack.length;i++){
if(haystack[i].indexOf(needle) !== -1){
console.log(haystack[i].trim() + " is the car");
return;
}
}
}
Попробуйте разбить строку на массив:
const cars = "Audi, Ford Ikon, Mercedes Benz";
var carsArray = cars.split(",");
var carType = "Ford";
Затем перейдите по списку, чтобы проверить, содержится ли ключевое слово в любом из элементов:
for (var make in carsArray):
if (make.toLowerCase().includes(carType.toLowerCase())) {
console.log(carType + " is the car");
}
}