我知道这是一个愚蠢的问题,但我有点卡住了。
我有一个这样的数组:
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()?
答案 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>');