Массив объектов
Привет!
Есть такой код: 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, время: 07:58. |