JSFiddle - React, Tailwind, and code Playground

HTML

<div class="searchBox">
  <input type="text">
</div>
<ul>ここに 'name' を表示したい</ul>

JavaScript

/*
* 検索される辞書
***********************/
// 見やすく改行してますが、実際は改行なしです
var jsn = '[{"id":1,"name":"スマホ","relation":"スマホ,スマートフォン,スマートホン"},{"id":2,"name":"スマートフォン","relation":"スマホ,スマートフォン,スマートホン"},{"id":3,"name":"スマートホン","relation":"スマホ,スマートフォン,スマートホン"},{"id":4,"name":"USB","relation":"USB,Universal Serial Bus"},{"id":5,"name":"Universal Serial Bus","relation":"USB,Universal Serial Bus"}]';

var obj = JSON.parse(jsn);

console.log(obj);


/*
* 検索を実行
***********************/

$(document).on( 'input', '.searchBox input', function() {

	// 入力値を配列に
	const inp = $(this).val();
	const searchArr = inp.split(/[\u3000&\x20;]/g);
  
	// 入力値の配列を変換
	$.each(searchArr, function(i, v) {
		// 後述の関数で変換する
		hull2half(v) ? searchArr.push(hull2half(v)) : searchArr;
		half2full(v) ? searchArr.push(half2full(v)) : searchArr;
		hira2kata(v) ? searchArr.push(hira2kata(v)) : searchArr;
		kata2hira(v) ? searchArr.push(kata2hira(v)) : searchArr;
		halfkata2fullkata(v) ? searchArr.push(halfkata2fullkata(v)) : searchArr;
	});

	// チェック
	console.log(searchArr);
  
	// リストを表示
	let dispArr = [];
	if( inp.length ){ 
		// 検索結果を表示
		Object.values(obj).forEach(data=>{
			if( data['relation'].indexOf(searchArr) != -1 ){
				dispArr.push( '<li>' +data['name']+ '</li>' );
			}
		});
	}
	else{
		// 全て表示
		Object.values(obj).forEach(data=>{
			dispArr.push( '<li>' +data['name']+ '</li>' );
		});	
	}
	$( 'ul' ).html( dispArr );
});


/*
* 検索文字の変換関数たち
***********************/

// 全角英数を半角英数に変換
function hull2half(str) {
	if( str.match(/[A-Za-z0-9]/g) ){
		return str.replace(/[A-Za-z0-9]/g, function(s) {
			return String.fromCharCode(s.charCodeAt(0)-0xFEE0);
		});
	}
}

// 半角英数を全角英数に変換
function half2full(str) {
	if( str.match(/[A-Za-z0-9]/g) ){
		return str.replace(/[A-Za-z0-9]/g, function(s) {
			return String.fromCharCode(s.charCodeAt(0) + 0xFEE0);
		});
	}    
}

// ひらがなをカタカナに変換
function hira2kata(str) {
	if( str.match(/[ぁ-ん]/g) ){
		return str.replace(/[ぁ-ん]/g, function(s) {
			return...