Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I am creating a Lambda Function in JavaScript which will run a NodeJs Function. For this i have a S3 function that return a list of Objects in the format

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

Now I want to create another JSON Object in the form

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

i.e I just want the Key Value.

Now I Know I can Iterate Over the array and just copy every element. But that will block the thread and I don't want that. Is there any Array Function in Javascript Or Another Better way to achieve this?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
160 views
Welcome To Ask or Share your Answers For Others

1 Answer

Use Array#map method

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);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...