2016-11-24 7 views
0

У меня есть массив объектов, как указано ниже,Преобразование некоторых полей массива объектов в json-данные в javascript?

var arraydata =[ 
{ id:1, name:"Abraham", age:20,gender:"male"}, 
{ id:2, name:"Annie", age:25,gender:"female"}, 
{ id:3, name:"Ryan", age:40,gender:"male"}, 
{ id:4, name:"Wayne", age:31,gender:"male"}, 
{ id:5, name:"Paul", age:45,gender:"male"} 
]; 

как преобразовать это JSON данных, который имеет только «идентификатор» и поле «имя»?

+0

с новыми объектами, или на месте? –

+0

с новым объектом – MemoryLeak

ответ

3

синтаксис является неправильным age=20,gender="male" изменение его age:20,gender:"male"

var arraydata =[ 
 
{ id:1, name:"Abraham", age: 20, gender:"male"}, 
 
{ id:2, name:"Annie", age: 25, gender:"female"}, 
 
{ id:3, name:"Ryan", age: 28, gender:"male"}, 
 
{ id:4, name:"Wayne", age: 19, gender:"male"}, 
 
{ id:5, name:"Paul", age: 45,gender:"male"} 
 
]; 
 
var ans= arraydata.map(function(a){ 
 
return {id:a.id,name:a.name}; 
 
}) 
 
console.log(ans);

0
var arraydata =[ 
{ id:1, name:"Abraham", age: 20, gender: "male"}, 
{ id:2, name:"Annie", age: 25, gender: "female"}, 
{ id:3, name:"Ryan", age: 28, gender: "male"}, 
{ id:4, name:"Wayne", age: 19, gender: "male"}, 
{ id:5, name:"Paul", age: 45, gender: "male"} 
]; 


var _ = arraydata.map(function(item) { 
    return { id: item.id, name: item.name }; 
}); 

var jsonData = JSON.stringify(_); 

console.log(jsonData); 

Конечно, Вы можете цепи вместе два этапа.

Fiddle

0

Вы можете использовать delete operator, которые удалить свойство из объекта.

var arraydata = [{ 
 
    id: 1, 
 
    name: "Abraham", 
 
    age : 20, 
 
    gender : "male" 
 
    }, { 
 
    id: 2, 
 
    name: "Annie", 
 
    age : 25, 
 
    gender : "female" 
 
    }, { 
 
    id: 3, 
 
    name: "Ryan", 
 
    age : 40, 
 
    gender : "male" 
 
    }, { 
 
    id: 4, 
 
    name: "Wayne", 
 
    age : 31, 
 
    gender : "male" 
 
    }, { 
 
    id: 5, 
 
    name: "Paul", 
 
    age : 45, 
 
    gender : "male" 
 
    }]; 
 

 
arraydata.forEach(function(item){ delete item.age; delete item.gender }); 
 

 
    console.log(arraydata);