Вместо того, чтобы использовать $ каждый, вы можете использовать find. Это мы будем быстрее. Не будет повторять все значения.
В противном случае вы можете создать карту данных. Это будет быстрее, чем это.
Образцы:
var select_entite_juridique_options = {};
var exist_selected = {};
var current_values = $(this).val();
if (
typeof current_values != "undefined" &&
(current_values != "" || current_values != null)
) {
$.each(select_entites_salarie.find(":selected"), function(index, value) {
var current_opt = $(this);
const data = current_values.find(v => {
return current_opt.val() == v
})
if (data) {
select_entite_juridique_options[data] = current_opt.text();
exist_selected[data] = data;
pdlf.main.debug(
" ID SELECTION DANS ENTITE = " +
data +
" | TEXT = " +
current_opt.text()
);
return true;
}
});
}
// С картой
if (
typeof current_values != "undefined" &&
(current_values != "" || current_values != null)
) {
const valueMap = current_values.reduce( (m, cur) => {
m[v]= v
return v
}, {})
$.each(select_entites_salarie.find(":selected"), function(index, value) {
var current_opt = $(this);
if (valueMap[current_opt.val()]) {
select_entite_juridique_options[data] = current_opt.text();
exist_selected[data] = data;
pdlf.main.debug(
" ID SELECTION DANS ENTITE = " +
data +
" | TEXT = " +
current_opt.text()
);
return true;
}
});
}