Я пытаюсь создать функцию поиска, используя только Vanilla JavaScript. Это работает в веб-консоли браузера, но я не могу заставить его вывести объект, как только он будет включен в функцию.
У меня есть пользователь, который вводит поисковый запрос в форме HTML. Форма хранит значение в переменной _searchInput, которая хранится в хранилище сеансов. Когда я нахожусь в веб-консоли браузера и проверяю sessionStorag, он возвращает сохраненную переменную с ожидаемым значением. Однако, когда я пытаюсь вернуть переменную _results, она возвращает пустой массив.
Добавление для наглядности inputValue (); является функцией, которая проверяет, ввел ли пользователь значение, и вызывает searchFunc (); если поле поиска не пустое.
HTML
<form name="entryForm">
<input id="searchInput" type="text" label="Search" onclick="this.value =
'' " />
<button id="searchBtn" onclick="inputValue();">Search</button>
<p id="response">I'm the value</p>
</form><br><br>
Массив объектов
const allInvItems = [{
"ProdId": "1",
"InvItemName": "T-shirt",
"GinNum": "640041 - T-shirt",
"QtyServUnit": "1",
"QtyCountUnit": "1",
"PurchUnit": "EA - Each",
"CountUnit": "EA - Each",
"SellUnit": "EA - Each",
"CountFrequency": "D - Daily",
"StandCost": "10.6049"
},
{
"ProdId": "2",
"InvItemName": "Shorts",
"GinNum": "75043011 - Shorts",
"QtyServUnit": "8",
"QtyCountUnit": "1",
"PurchUnit": "PK - Pack",
"CountUnit": "EA - Each",
"SellUnit": "EA - Each",
"CountFrequency": "D - Daily",
"StandCost": "2.6049"
}];
Функция поиска: вот где у меня проблемы. я
function searchFunc () {
const storedInput = sessionStorage.getItem('_searchInput').value;
let _results = allInvItems.filter(function(obj) {
return obj.InvItemName == storedInput;
});
}
Я ожидаю, что он отфильтрует все другие объекты, кроме тех, которые хранятся в захваченной переменной.