dqde43215 2017-04-08 07:22
浏览 33
已采纳

在JS中转换数组

Help, please.

How is it possible in JS to transform these arrays:

$ar1 = array('Shop 1', 15, 25, 30);
$ar2 = array('Shop 2', 25, 45, 50);
$ar3 = array('Month', 1, 2, 3);

to this:

$values = array(
   array('Month', 'Shop 1', 'Shop 2'),
   array('1', 15, 25),
   array('2', 25, 45),
   array('3', 30, 50),
);

in PHP I can do it as follow:

$result = array_map(function($a,$b,$c){ return [$a,$b,$c]; }, $ar3,$ar1,$ar2);

or like that:

function flip($arr) {
$result = array();
foreach ($arr as $index => $list) {
    foreach ($list as $key => $value) {
        $result[$key][$index] = $value;
    }
}
return $result;
}

$values = flip([$ar3, $ar1, $ar2]);
  • 写回答

3条回答 默认 最新

  • doupao6011 2017-04-08 07:45
    关注

    You can use Array.prototype.map in Javascript. It passes the array index as an argument to the callback, which you can then use to access the other two arrays.

    var arr1 = ['Shop 1', 15, 25, 30];
    var arr2 = ['Shop 2', 25, 45, 50];
    var arr3 = ['Month', 1, 2, 3];
    
    var result = arr3.map(function(element, index) {
      return [element, arr1[index], arr2[index]];
    });
    
    console.log(result);

    </div>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏