2016-08-23 60 views
0

我有以下的數組:ReactJS + javascript:如何解析數組到一個新的數組?

var oldArray = [ 
    {number: '12345', alphabet: 'abcde'}, 
    {number: '54321', alphabet: 'abcde'}, 
    {number: '67891', alphabet: 'abcde'}, 
    {number: '19876', alphabet: 'abcde'}, 
] 

而且我想只提取從oldArraynumber和創建它們的一個新的陣列稱爲newNumberArray只用字符串,而不是作爲對象,像這樣:

var newNumberArray = [ 
    {'12345'}, 
    {'54321'}, 
    {'67891'}, 
    {'19876'}, 
] 

我該怎麼做?

+2

這與本地JavaScript的['陣列很容易做到.MAP()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)。 – filoxo

+1

循環遍歷舊數組,並將每個'number'推送到一個新數組... – brso05

+1

React沒有提供任何幫助。使用原生JavaScript API或lodash之類的庫。 –

回答

3

請注意,{'12345'}不是有效的JavaScript對象,因爲該值缺少其密鑰。


展望未來,我會假設你想達到像下面這樣的結果:

["12345", "54321", "67891", "19876"] 

Array.prototype.map()功能是在這裏幫助:

var oldArray = [ 
 
    {number: '12345', alphabet: 'abcde'}, 
 
    {number: '54321', alphabet: 'abcde'}, 
 
    {number: '67891', alphabet: 'abcde'}, 
 
    {number: '19876', alphabet: 'abcde'}, 
 
] 
 
    
 
var newNumberArray = oldArray.map(function(item) { 
 
    return item.number 
 
}) 
 
    
 
console.log(newNumberArray) // ["12345", "54321", "67891", "19876"]

+0

謝謝真的幫助! –