Создать новый объект массива из существующих - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть массив объектов "myData".Мне нужно создать новый массив объекта "newMyData"

Ниже приводится "myData"

     myData = [
         {
          "PictureUrl": "~/images/test.png",
          "ThumbnailUrl": "~/thumbnail/test.png",
          "Date": "02/08/2018",
          "Time": "09.00.00AM",
          "ImageName": "NewImage"
         },
         {
          "PictureUrl": "~/images/test.png",
          "ThumbnailUrl": "~/thumbnail/test.png",
          "Date": "02/08/2018",
          "Time": "09.00.00AM",
          "ImageName": "NewImage"
         }, .........
        ]

Мне нужно создать динамически новый массив объекта, как показано ниже из "myData"

newMyData = [
         {
          "mainImage": "~/images/test.png",
          "ThumbImage": "~/thumbnail/test.png"
         },
        {
          "mainImage": "~/images/test.png",
          "ThumbImage": "~/thumbnail/test.png"
         }, .........
]

Какую функцию JavaScript нужно написать?как пройти через все узлы.

Ответы [ 3 ]

0 голосов
/ 25 сентября 2018

Использовать карту массива:

     myData = [
         {
          "PictureUrl": "~/images/test.png",
          "ThumbnailUrl": "~/thumbnail/test.png",
          "Date": "02/08/2018",
          "Time": "09.00.00AM",
          "ImageName": "NewImage"
         },
         {
          "PictureUrl": "~/images/test.png",
          "ThumbnailUrl": "~/thumbnail/test.png",
          "Date": "02/08/2018",
          "Time": "09.00.00AM",
          "ImageName": "NewImage"
         }, 
        ];
var newMyData = myData.map(current=>{
    var obj = {};
    obj.mainImage = current.PictureUrl;
    obj.ThumbImage = current.ThumbnailUrl;
    return obj;
});
console.log(newMyData);
0 голосов
/ 25 сентября 2018

Команда Use может просто перебрать массив, используя Arrays.forEach(), получить требуемое значение на карте и, наконец, вставить эту карту в новый массив, как показано ниже:

var newMyData = [];
var myData = [
         {
          "PictureUrl": "~/images/test.png",
          "ThumbnailUrl": "~/thumbnail/test.png",
          "Date": "02/08/2018",
          "Time": "09.00.00AM",
          "ImageName": "NewImage"
         },
         {
          "PictureUrl": "~/images/test.png",
          "ThumbnailUrl": "~/thumbnail/test.png",
          "Date": "02/08/2018",
          "Time": "09.00.00AM",
          "ImageName": "NewImage"
         }
        ];
myData.forEach(function(data) {
    var newMap = {};
    newMap.mainImage = data.PictureUrl;
    newMap.ThumbImage = data.ThumbnailUrl;
    newMyData.push(newMap);
});

console.log(newMyData);
0 голосов
/ 25 сентября 2018
myNewData = myData.map(data => ({
    mainImage: data.PictureUrl,
    thumbImage: data.ThumbnaiUrl // please, use lowerCase for properties.
}));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...