Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Массив объектов (https://javascript.ru/forum/events/61413-massiv-obektov.html)

Alexander Belov 17.02.2016 13:11

Массив объектов
 
Привет!

Есть такой код:
var features = [{

    type: "Coupe",
    modification: ["325", "328", "330", "M"],
    errors : 0

}, {

    type: "Cabrio",
    models: ["3-series", "6-series", "Z-series"],
    errors: 0

}];


Мне нужно добавить к каждому объекту внутри массива features новое свойство push( "individual = null" ).

Каким образом возможно обратиться к каждому объекту внутри массива, чтобы применить к нему такой метод?

Учитывая, что push() применим лишь к массиву, я пробовал воспользоваться методом Obj.keys( features ), чтобы получить массивы внутри массива features, что-то типа такого

var features = [
    
   [Array 1 свойства],
   
   [Array 2 свойства]

]



Obj.keys ( features )
возвращает лишь [ "0", "1" ]

Каким образом можно реализовать такую задачу? Какую документацию непосредственно изучать?

рони 17.02.2016 13:36

Alexander Belov, циклом по массиву
features[0].individual = null;

Alexander Belov 17.02.2016 13:39

рони,
Этим способом понятно, да

Но нужно именно посредством push()

Dilettante_Pro 17.02.2016 14:05

Alexander Belov,
push
Добавляет элемент в конец массива. Почитать https://learn.javascript.ru/array
Цитата:

Сообщение от Alexander Belov
Мне нужно добавить к каждому объекту внутри массива features новое свойство push( "individual = null" ).

Вам не кажется, что эта функция не про то?

Alexander Belov 17.02.2016 14:19

Dilettante_Pro,
Мне и нужно как раз добавить в конец свойств
"individual = null"

Понятно, что решить вопрос можно намного проще. Например, как предложил Рони.
Но мне принципиально интересно, метод push() тут можно использовать (пусть и усложняя себе работу) или нет.

Dilettante_Pro 17.02.2016 14:43

Alexander Belov,
Цитата:

Сообщение от Alexander Belov
Мне и нужно как раз добавить в конец свойств

Конец свойств объекта, который является элементом массива - это совсем не последний элемент массива.
Так что использование метода push тут принципиально не подходит.

Alexander Belov 17.02.2016 15:08

Dilettante_Pro,
Я потому и пытался сделать из объектов массивы, чтобы применить push().
var features = [

    [Array 1
    ...
    individual : null
    ],

    [Array 2
    ...
    individual : null
    ]

]

Dilettante_Pro 17.02.2016 15:19

Alexander Belov,
Цитата:

Сообщение от Alexander Belov
Я потому и пытался сделать из объектов массивы

Это каким же образом? Что содержат ваши массивы?

Alexander Belov 17.02.2016 15:33

Dilettante_Pro,
Я думал, что Obj.keys ( features ) вернёт мне массивы вместо объектов. Но теперь понимаю, что keys() нужно применять к каждому объекту внутри массива features[]. Только не знаю, как это сделать.

рони 17.02.2016 15:35

Цитата:

Сообщение от Alexander Belov
Только не знаю, как это сделать.

Цитата:

Сообщение от рони
циклом по массиву

какие проблемы то?


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