Есть два объекта:
let obj1 = {
"txt": false,
"log": false,
"ini": false,
"com": false
}
let obj2 = {
"1": true,
"2": false,
"3": true,
"4": false
}
Как можно сделать чтоб по порядку перезаписались значения из obj2 в obj1? Тоесть мне нужно чтоб после выполнения функции стало:
let obj1 = {
"txt": true,
"log": false,
"ini": true,
"com": false
}
Если не поможете с решением, будьте добры, подскажите где об этом можно почитать.
Если верить ресурсу Learn JavaScript, то если имя свойства – нечисловая строка, то такие ключи всегда перебираются в том же порядке, в каком присваивались.
У вас во втором объекте используется ключ в виде числа, то лучше использоваться массив, или просто начинаться отчет от 1.
let obj1 = {
"txt": false,
"log": false,
"ini": false,
"com": false
};
let obj2 = {
"1": true,
"2": false,
"3": true,
"4": false
};
function merge(target, obj) {
let i = 1;
for(let key in target) {
target[key] = obj[i++];
}
}
merge(obj1, obj2);
console.log(obj1);
В каком порядке перебираются свойства?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть горизонтальный сайт, и если у пользователя выбрано масштабирование в windows то он едет вниз, можно ли запретить масштабировать сайт несмотря...
Как сделать, чтобы браузер не падал при arr, состоящим из 18000 7-ми символьных строк? Например, дожидался, пока придёт одна пачка из 20 запросов,...
Нигде не нашел однозначного ответа на этот вопрос