В настоящее время у меня есть скрипт jQuery, который сопоставляет значения из моей таблицы с массивом, чтобы найти соответствующий URL и вывести его в виде HTML. Это работает нормально, однако я хотел бы сохранить свой массив закрытым (чтобы все данные не могли быть просмотрены в инспекторе, если совпадение не найдено) и, насколько я понимаю, это невозможно сделать с помощью JavaScript. Я уже использую PHP для динамического создания таблицы, поэтому мне было интересно, возможно ли это.
var profiles = [{
"name": "Susie",
"link": "www.google.com"
},
{
"name": "John",
"link": "www.yahoo.com"
}
];
$(document).ready(function() {
$('tr').each(function(index, item) {
var value = $(item).find('td').eq(1).text();
var exist = profiles.filter(c => c.name == value);
if (exist.length > 0) {
var link = exist[0].link;
$(item).find('td').eq(1).html("<a href='" + link + "'>" + value + "</a>");
}
})
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<thead>
<th>#</th>
<th>Name</th>
</thead>
<tbody>
<tr>
<td>1
<td>Susie</td>
</tr>
<tr>
<td>2
<td>John</td>
</tr>
</tbody>
Я думал об использовании файла JSON для хранения данных, но я не уверен, куда идти.
$data = '{"Susie": "www.google.com","John": "www.yahoo.com"}';
$array = json_decode($somedata, TRUE);