我是角度js的新手。我有一个数组对象
var data = [{ id:1, name: 'Adam', email: 'adam@email.com', age: 12},
{ id:2, name: 'Amalie', email: 'amalie@email.com', age: 12}];
现在,我希望数据为
var data_id = [{1},{2}];
那么我应该从数组对象中获取唯一的id列表?
答案 0 :(得分:1)
编辑:问题已更新。
无法实现您想要数据的格式([{1},{2}]
)。 javascript对象必须有一个键和一个值。所以,{1}
无效。
但另一方面,如果它只是您想要的ID([1,2]
),请参阅下面的映射,而不是返回{id: item.id}
,只需返回item.id
。
var data = [{ id:1, name: 'Adam', email: 'adam@email.com', age: 12},
{ id:2, name: 'Amalie', email: 'amalie@email.com', age: 12}];
// [{id: 1, {id: 2}}]
var data_id = data.map(function(item){
return { id: item.id};
});
// [1, 2]
var data_id = data.map(function(item){
return item.id;
});
如果您使用的是ES6,则可以简化代码
var data_id = data.map(item => ({ id: item.id}));
您可以使用javascript map
函数仅提取ID。
请参阅https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/map
答案 1 :(得分:1)
在Javascript中,对象同时拥有key
和value
。
var obj = {
myKey: value,
}
您可以尝试使用JavaScript array.map()方法。它将返回包含您要访问的元素的数组。
var data = [{ id:1, name: 'Adam', email: 'adam@email.com', age: 12},
{ id:2, name: 'Amalie', email: 'amalie@email.com', age: 12}];
var result = data.map(function(item) {
return item.id;
});
console.log(result);