#javascript #jquery
Есть объект в нем есть значения мне надо вытаскивать из него значения, с этим я справился
вот так:
var arr = {
elem1: '0001',
elem2: '0002',
elem3: '0003',
elem4: '0004',
elem4: '0005'
};
$.each(arr, function(index, value) {
if (value == '0003') {
console.log( 'id найден ' + value );
}
});
А вот если мне надо допустим вытащить несколько значений, к примеру 0003 и 0005?
Писать еще условие? А если в объекте будет 100 значений и мне надо будет 10 определенных
значений вытащить, писать еще кучу условий?
Есть какое то более изящное решение моего вопроса?
Ответы
Ответ 1
var arr = { elem1: '0001', elem2: '0002', elem3: '0003', elem4: '0004', elem4: '0005' }; var valuesToFind = ['0003', '0005']; $.each(arr, function(index, value) { if (valuesToFind.indexOf(value) != -1) { console.log( 'id найден ' + value ); } });Ответ 2
При использовании ES6 можно сделать так: const arr = { elem1: '0001', elem2: '0002', elem3: '0003', elem4: '0004', elem4: '0005' }; const valuesToFind = ['0003', '0005']; const result = Object.values(arr).filter(val => valuesToFind.includes(val)) console.log("Source array", Object.values(arr)) console.log("Result", result)
Комментариев нет:
Отправить комментарий