Массив объектов
Привет!
Есть такой код:
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" ] Каким образом можно реализовать такую задачу? Какую документацию непосредственно изучать? |
Alexander Belov, циклом по массиву
features[0].individual = null; |
рони,
Этим способом понятно, да Но нужно именно посредством push() |
Alexander Belov,
push Добавляет элемент в конец массива. Почитать https://learn.javascript.ru/array Цитата:
|
Dilettante_Pro,
Мне и нужно как раз добавить в конец свойств "individual = null" Понятно, что решить вопрос можно намного проще. Например, как предложил Рони. Но мне принципиально интересно, метод push() тут можно использовать (пусть и усложняя себе работу) или нет. |
Alexander Belov,
Цитата:
Так что использование метода push тут принципиально не подходит. |
Dilettante_Pro,
Я потому и пытался сделать из объектов массивы, чтобы применить push().
var features = [
[Array 1
...
individual : null
],
[Array 2
...
individual : null
]
]
|
Alexander Belov,
Цитата:
|
Dilettante_Pro,
Я думал, что Obj.keys ( features ) вернёт мне массивы вместо объектов. Но теперь понимаю, что keys() нужно применять к каждому объекту внутри массива features[]. Только не знаю, как это сделать. |
Цитата:
Цитата:
|
Цитата:
var obj = {
type: "Coupe",
modification: ["325", "328", "330", "M"],
errors: 0
};
var arr = Object.keys(obj).map(function (key) { return obj[key] });
|
рони,
var features = [{
type: "Coupe",
modification: ["325", "328", "330", "M"],
errors : 0
}, {
type: "Cabrio",
models: ["3-series", "6-series", "Z-series"],
errors: 0
}];
var arr = features.forEach( function( item ){
features.keys( item )
})
console.log( features.keys( item ) ) выводит ArrayIterator {} ArrayIterator {} |
рони,
Он очень хочет использовать push - смотри переписку выше. Я сдаюсь |
Alexander Belov,
var features = [{
type: "Coupe",
modification: ["325", "328", "330", "M"],
errors : 0
}, {
type: "Cabrio",
models: ["3-series", "6-series", "Z-series"],
errors: 0
}];
features.forEach( function( item ){
item.individual = null;
})
alert(JSON.stringify(features))
|
Цитата:
|
рони,
Благодарю! |
рони,
Alexander Belov, Но это же без push! Это опять вариант цикла!:blink: |
Цитата:
var push = function(arr){
arr.forEach( function( item ){
item.individual = null;
})
return arr;
}
var features = [{
type: "Coupe",
modification: ["325", "328", "330", "M"],
errors : 0
}, {
type: "Cabrio",
models: ["3-series", "6-series", "Z-series"],
errors: 0
}];
features = push(features);
alert(JSON.stringify(features))
:D :D |
destus,
:) |
destus,! Красиво! Плюсану завтра - смартфон по плюсу увеличивает картинку))
|
destus,
плюсую)))) |
| Часовой пояс GMT +3, время: 21:51. |