2016-11-15 52 views
1

比方说,我有以下几点:JavaScript通过对象数组只能通过邮件ID

[ 
{ messageid: '582b4350af7cb8f21e4b7b43', 
     _id: 582b4c79105387dd21e08004 } , 
{ messageid: '582b4350af7cb8f21e4b7xb43', 
     _id: 582b4c79105387dd21e08s004 } 

] 

我怎样才能使它产生一个阵列,只会是messageid'的价值观?

像:

{582b4350af7cb8f21e4b7b43,582b4350af7cb8f21e4b7xb43}

注:普通的JavaScript或角

+0

循环需要一个数组或对象? –

回答

2

您可以使用.map

var output = input.map(function(item) { 
    return item.messageid; 
}); 

这将创建一个数组,看起来像[582b4350af7cb8f21e4b7b43,582b4350af7cb8f21e4b7xb43]

2

你可以映射属性messageid

var objectArray = [{ messageid: '582b4350af7cb8f21e4b7b43', _id: '582b4c79105387dd21e08004' }, { messageid: '582b4350af7cb8f21e4b7xb43', _id: '582b4c79105387dd21e08s004' }], 
 
    newArray = objectArray.map(function (o) { 
 
     return o.messageid; 
 
    }); 
 

 
console.log(newArray);

1

使用forEach通过阵列

var orArray = [{ 
     messageid: '582b4350af7cb8f21e4b7b43', 
     _id: '582b4c79105387dd21e08004' 
     }, { 
     messageid: '582b4350af7cb8f21e4b7xb43', 
     _id: '582b4c79105387dd21e08s004' 
     } 

    ]; 

    var newArr = []; 
    orArray.forEach(function(item) { 
     newArr.push(item.messageid) 
    }); 
    console.log(newArr) 

DEMO