forEach / map на массив объектов не добавляет свойства - PullRequest
0 голосов
/ 14 марта 2019

У меня есть массив объектов в них. Я хочу добавить два новых свойства для всех объектов в этом массиве. Положение объектов в массиве и длина массива.

мой код для этого:

 objArr.forEach(function(element) {
        element.data.basics.all= objArr.length, 
        element.data.basics.position= objArr.indexOf(element), 
    });

В цикле forEach добавляются свойства. Я могу напечатать их, будучи в цикле. Но после завершения цикла свойства исчезают.

если попытался Добавить свойство к массиву объектов , но не работает ни forEach, ни .map.

Я тоже пробовал:

 objArr.forEach(function(element) {
        element.data.basics.all= objArr.length, 
        element.data.basics.position= objArr.indexOf(element), 
        return element
    });

и

 objArr.map(function(element) {
   element.data.basics.position = objArr.indexOf(element)
       element.data.basics.all= objArr.length, 
        return element;
     }
 )

и я попробовал функцию стрелки во всех случаях, поэтому `... objArr.forEach ((element) => {...})

1 Ответ

0 голосов
/ 14 марта 2019

Отлично работает с forLoop, добавляются новые свойства.

var array = [
        { person: { age: 76 }, state: 'ka' },
        { person: { age: 87 }, state: 'ap' },
        { person: { age: 45 }, state: 'tn' }
    ];
    array.forEach(function(element, index){
        element.person.length = array.length;
        element.person.index = index;
    });
    console.log(array)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...