Как мне создать новый массив объектов с некоторыми удаленными свойствами из другого массива объектов в JavaScript - PullRequest
0 голосов
/ 18 июня 2020

У меня есть массив объектов, я хочу построить новый массив из старого массива без некоторых свойств из старого массива.

Например, у меня есть массив таких объектов

 [
       {
            "userImages": [
                "url to image here"
            ],
            "likes": [
                {
                    "userImages": [
                       "url to image here"
                    ],
                    "likes": [
                        "5ea708a40c244528c0e076c8"
                    ],
                    "_id": "5ea708a40c244528c0e076c8",
                    "name": "Lee",
                    "gender": "male"
                }
            ],
            "_id": "5ec95161fc8ed82bc4d66279",
            "gender": "male",
            "name": "Aahan Aarav"
        },
        {
            "userImages": [
                "url to image"
            ],
            "likes": [
                {
                    "userImages": [
                       "url to image here"
                    ],
                    "likes": [
                        "5ec95161fc8ed82bc4d66279",
                    ],
                    "_id": "5ea708a40c244528c0e076c8",
                    "name": "Lee",
                    "gender": "male"
                }
            ],
            "_id": "5ec95161fc8ed82bc4d66277",
            "gender": "female",
            "name": "Rajiv Rakesh"
        }
   ]

Пожалуйста, как мне создать новый массив с теми же свойствами, что и выше, но без массива лайков: например, как показано ниже:

 [
       {
            "userImages": [
                "url to image here"
            ],
            "_id": "5ec95161fc8ed82bc4d66279",
            "gender": "male",
            "name": "Aahan Aarav"
        },
        {
            "userImages": [
                "https://tieinupuserinfopictures.s3.ap-south-1.amazonaws.com/1589642272641-pexels-photo-1372134.jpeg"
            ],
              "_id": "5ec95161fc8ed82bc4d66277",
            "gender": "female",
            "name": "Rajiv Rakesh"
        }
   ]

1 Ответ

0 голосов
/ 18 июня 2020

В современной среде (напрямую или через транспиляцию) вы можете использовать map с деструктуризацией и литералами объектов, чтобы легко выбирать нужные свойства и создавать с ними новые объекты, возможно, с помощью стрелки. функция:

const result = original.map(
//   vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv−−− destructuring to pick out the desired props
    ({userImages, _id, gender, name}) => ({userImages, _id, gender, name})
// Object literal with shorthand props−−−−^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
);

Живой пример:

const original = [
       {
            "userImages": [
                "url to image here"
            ],
            "likes": [
                {
                    "userImages": [
                       "url to image here"
                    ],
                    "likes": [
                        "5ea708a40c244528c0e076c8"
                    ],
                    "_id": "5ea708a40c244528c0e076c8",
                    "name": "Lee",
                    "gender": "male"
                }
            ],
            "_id": "5ec95161fc8ed82bc4d66279",
            "gender": "male",
            "name": "Aahan Aarav"
        },
        {
            "userImages": [
                "url to image"
            ],
            "likes": [
                {
                    "userImages": [
                       "url to image here"
                    ],
                    "likes": [
                        "5ec95161fc8ed82bc4d66279",
                    ],
                    "_id": "5ea708a40c244528c0e076c8",
                    "name": "Lee",
                    "gender": "male"
                }
            ],
            "_id": "5ec95161fc8ed82bc4d66277",
            "gender": "female",
            "name": "Rajiv Rakesh"
        }
   ];

const result = original.map(({userImages, _id, gender, name}) => ({userImages, _id, gender, name}));

console.log(result);
.as-console-wrapper {
    max-height: 100% !important;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...