Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   перебор объектов (https://javascript.ru/forum/misc/68007-perebor-obektov.html)

Роман Андреевич 20.03.2017 15:39

перебор объектов
 
Коллеги, доброго времени суток, есть код:
var worker= {
person:{
name:'',
age:''
},
section: {
type:'products',
work:'manager'
},
}
        setOptions: function(element, params) {
            for (var key in params) {
                worker[element][key] = params[key];
            }
            return this;
        }

setOptions('section', {
type: 'magazine',
work:'dool'
});


Вопрос в том, что есть объект, у которого свойства другие объекты. Функция setOption должна добавлять свойства и методы к дочерним объектам worker'а. Не работает((((Подскажите где я напоролся. Заранее спасибо

Dilettante_Pro 20.03.2017 15:53

Роман Андреевич,
М.б. 11 строка должна быть
var setOptions = function(element, params) {

???

ksa 20.03.2017 15:58

Цитата:

Сообщение от Роман Андреевич (Сообщение 447918)
есть код:
var worker= {
person:{
name:'',
age:''
},
section: {
type:'products',
work:'manager'
}*!*,*/!*
}

Запятая лишняя...

Paguo-86PK 20.03.2017 16:16

Кaк показывает практика, лишние запятые - нормально так игнорируются. Типа [1,2,3,4,] или {a:1, b:2, c:3,};)

ksa 20.03.2017 16:22

Тогда вариант от Dilettante_Pro... :D

рони 20.03.2017 16:53

Цитата:

Сообщение от Paguo-86PK
Кaк показывает практика, лишние запятые - нормально так игнорируются.

видимо вам повезло с браузерами и кодом.

Paguo-86PK 20.03.2017 21:46

Вложений: 1
Никaк не размешу этот код (пишет, что я - подозрительный бот:blink: )…
P.S.: Код - пример с избытком запятых (работает во всех браузерах)…

рони 20.03.2017 21:57

Paguo-86PK,
код не будет работать в ie <11 и в некоторых плагинах

ksa 21.03.2017 08:33

У меня серверный язык забракует такой "излишек" запятых...

Dilettante_Pro 21.03.2017 12:01

Хром спокойно ест, Опера, Фокс - тоже
var arr = [1,2,3,4,];
alert(JSON.stringify(arr));
var obj = {a:1, b:2, c:3,};
alert(JSON.stringify(obj));

IE11 тоже, В режиме эмуляции - 10, 9 нормально.
8 выдает лишний null в массиве, 7 вываливается по ошибке


Часовой пояс GMT +3, время: 07:05.