Помогите пожалуйста. Имею такую ситуацию, есть объект содержащий список элементов начинающиеся с буквы H за которым следует число за которым следует слово '- num ' за которым опять следует число, например:
var obj = {
H0 - num0: {name: foo, id: func}
H1 - num1: {name: val, id: value}
H2 - num2: {name: constant, id: cnst}
}
Мне нушно создать поиск, который нашёл объект только по номеру(число), например я в поиске ввожу 2 он мне возвращает объект H2 - num2: {name: constant, id: cnst}. У меня уже имеется готовый поиск, но как получить объект только по номеру не знаю.
const objData = [...document.getElementsByClassName('btn')].reduce((a, c, i ) =>
(a['H' + i + ' - num ' + i] = {name: c.name, id: c.id}, a), {});
var form = document.querySelector('#search');
form.addEventListener('submit', function(event) {
event.preventDefault();
var data = new FormData(form);
var num = data.get('num');
if (objData[num]) {
console.log(objData[num]);
} else {
console.log('Not found');
}
});
<ul>
<li><button class="btn" name="foo" id="func"/>foo</li>
<li><button class="btn" name="val" id="value"/>val</li>
<li><button class="btn" name="constant" id="cnst"/>constant</li>
</ul>
<div class="search">
<form id="search">
<input type="text" name="num" placeholder="Huisnummer">
<button type="submit">Submit</button>
</form>
</div>
Любая помощь будет полезна, заранее спасибо.