变换数组数组

时间:2016-02-12 10:28:59

标签: javascript arrays

我知道这是一个愚蠢的问题,但我有点卡住了。

我有一个这样的数组:

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

我需要像这样转变:

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

有人可以解释如何实现这一目标吗? for loop,.map()?

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

2 个答案:

答案 0 :(得分: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 :(得分: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>');