Mark Lin
Mark Lin

Reputation: 37

Get array from a array by key javascript

Hello ~ I have an array object

[ 
  { "name":"mark", "age" : 18 },
  { "name" : "lin" ,"age": 20 }
]

I want to transform the over array object to it below .

[
 { "name": "mark"},
 { "name" : "lin" }
]

Do everyone have any brief method to transform it. thanks ~

Upvotes: 0

Views: 56

Answers (4)

Parth Ghiya
Parth Ghiya

Reputation: 6949

Use delete

var a=[ 
       { "name":"mark", "age" : 18 },
       { "name" : "lin" ,"age": 20 }
      ];
    
for(each in a){
   delete a[each].age
}

console.log(a);

Upvotes: 2

Gerardo
Gerardo

Reputation: 979

var array = [ 
  { "name":"mark", "age" : 18 },
  { "name" : "lin" ,"age": 20 }
]

arrayA = array.map((object) => {
  return { name: object.name };
});

// or

arrayB = array.map((object) => {
  delete object.age;
  return object;
});

JSBin

Upvotes: 0

yuchuan
yuchuan

Reputation: 26

You can do it with array.map

var array = [ 
  { "name":"mark", "age" : 18 },
  { "name" : "lin" ,"age": 20 }
];

var transformedArray = array.map(function(obj){
    return { name: obj.name };
});

Note that map returns a new array instead of mutating the original array, which is helpful if you don't want to lose the age information.

Upvotes: 0

samAlvin
samAlvin

Reputation: 1678

You can use Javascript map function like this snippet below:

var arr = [ 
  { "name": "mark", "age": 18 },
  { "name": "lin", "age": 20 }
];

console.log(arr);

var mappedArr = arr.map(element => {
  return {"name": element.name};
});

console.log(mappedArr);

Upvotes: 0

Related Questions