2016-02-12 107 views
-1

我知道它是一個愚蠢的問題,但我有點卡住了。變換陣列陣列

我有一個這樣的數組:

var arr = [[2, 5], [5,1], [6,7], [3,1]]; 

我需要這樣的轉變:

arr = [21, 41, 55, 25] //arr[0][0]*8 + arr[0][1] 

有人能解釋如何實現這一目標? for循環,.map()?

http://jsbin.com/wegohutemo/edit?js

+0

你的輸出應該看起來怎麼樣? – Rayon

+0

[21,41,55,25] – Hiero

+0

看看lodash或下劃線 –

回答

2

使用map函數來變換,見demo

arr = arr.map(function(value){ 

    return value[0]*8 + value[1]; //picks up one item at a time and apply your algorithm. 

}) 
+1

它將是非常好的,如果你可以添加一些'解釋:) :) – Joomler

+0

它dosent似乎爲我工作http://jsbin.com/fulipuquca/edit?js,console – Hiero

+0

第一個元素應該是21 – Hiero

2

有點不同,但我對待數組作爲八進制數字。

var arr = [[2, 5], [5, 1], [6, 7], [3, 1]], 
 
    result = arr.map(function (a) { 
 
     return parseInt(a.join(''), 8); 
 
    }); 
 

 
document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>');