2016-06-27 2 views
-1

Я создаю функцию Lambda в JavaScript, которая будет запускать функцию NodeJs. Для этого у меня есть функция S3, которая возвращает список объектов в форматеКопирование конкретных элементов JSON Array в другой

{ Contents: 
    [ { Key: '1466***', 
    LastModified: 2016-06-27T***, 
    ETag: '****', 
    Size: 708, 
    StorageClass: 'STANDARD' }, 
{ Key: '1466***', 
    LastModified: 2016-06-27T***, 
    ETag: '****', 
    Size: 708 } 

Теперь я хочу, чтобы создать еще один объект JSON в виде

{ 
Objects: [ 
    { 
    Key: 'STRING_VALUE' 
    }, 
    Some More Elements 
] 

т.е. я просто хочу значение ключа.

Теперь я знаю, что могу перебирать по массиву и просто копировать каждый элемент. Но это будет блокировать поток, и я не хочу этого. Есть ли какая-либо функция массива в Javascript или еще лучше. Лучший способ достичь этого?

ответ

1

Применение Array#map метод

var data = { 
 
    Contents: [{ 
 
    Key: '1466***', 
 
    LastModified: '2016 - 06 - 27T * * *' , 
 
    ETag: '****', 
 
    Size: 708, 
 
    StorageClass: 'STANDARD' 
 
    }, { 
 
    Key: '1466***', 
 
    LastModified: '2016 - 06 - 27T * * *' , 
 
    ETag: '****', 
 
    Size: 708 
 
    }] 
 
}; 
 

 
var res = { 
 
    Objects: data.Contents.map(function(v) { 
 
    return { 
 
     Key: v.Key 
 
    }; 
 
    }) 
 
} 
 

 
console.log(res);

Смежные вопросы