Сервер отдает JSON c массивом объектов, перебираю их обычным for.
for(var i = 0; i < data[0].target.length; i++){
if(data[0].target[i].code == Geo){
$('.old').html(data[0].target[i].price_high + ' ' + data[0].target[i].currency);
$('.new').html(data[0].target[i].price + ' ' + data[0].target[i].currency);
}
}
Будет-ли этот код лучше работать с конструкцией for in и есть ли в ней преимущества в конкретно этой задаче?
В плане производительности так же. Но нет гарантии, что все объекты(если у вас объект, а не массив) будут иметь ключи по возростанию. Может быть data[0], data[1], data[3], а data с ключом 2 не окозалось и for тут выкинет ошибку, а for in нет.
For in не викинет ошибку
var data = {
0: 'bla',
1: 'bla2',
3: 'bla3',
}
for (key in data) {
console.log(data[key]);
}
For викинет ошибку
var data = {
0: 'bla',
1: 'bla2',
3: 'bla3',
}
for (ar i = 0; i < data.length; i++) {
console.log(data[i]);
}
Ваш цикл в for in
for(key in data[0].target){
if(data[0].target[key].code == Geo){
$('.old').html(data[0].target[key].price_high + ' ' + data[0].target[key].currency);
$('.new').html(data[0].target[key].price + ' ' + data[0].target[key].currency);
}
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники