Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JS中转换数组_Javascript_Php - Fatal编程技术网

Javascript 在JS中转换数组

Javascript 在JS中转换数组,javascript,php,Javascript,Php,请帮忙 在JS中如何转换这些数组: $ar1 = array('Shop 1', 15, 25, 30); $ar2 = array('Shop 2', 25, 45, 50); $ar3 = array('Month', 1, 2, 3); 为此: $values = array( array('Month', 'Shop 1', 'Shop 2'), array('1', 15, 25), array('2', 25, 45), array('3', 30, 50)

请帮忙

在JS中如何转换这些数组:

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

$values = array(
   array('Month', 'Shop 1', 'Shop 2'),
   array('1', 15, 25),
   array('2', 25, 45),
   array('3', 30, 50),
);
在PHP中,我可以按如下方式操作:

$result = array_map(function($a,$b,$c){ return [$a,$b,$c]; }, $ar3,$ar1,$ar2);
或者像这样:

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]);

您可以尝试以下方法:

var arr1=['Shop 1',15,25,30];
var arr2=['Shop 2',25,45,50];
var arr3=['月份',1,2,3];
var-res=[];
对象。键(arr3)
.forEach(功能(键){
res.push([arr3[key].toString(),arr1[key],arr2[key]]);
});

控制台日志(res)使用适当的数组,可以使用嵌套循环转换单个数组以获得结果

var array1=['Shop 1',15,25,30],
array2=['Shop 2',25,45,50],
数组3=['月',1,2,3],
结果=[array3,array1,array2].reduce(函数(r,a,i){
a、 forEach(函数(b,j){
r[j]=r[j]| |[];
r[j][i]=b;
});
返回r;
}, []);
console.log(结果)

.as控制台包装{max height:100%!important;top:0;}
您可以在Javascript中使用
Array.prototype.map
。它将数组索引作为参数传递给回调,然后您可以使用回调访问其他两个数组

var arr1=['Shop 1',15,25,30];
var arr2=['Shop 2',25,45,50];
var arr3=['月份',1,2,3];
var result=arr3.map(函数(元素、索引){
返回[element,arr1[index],arr2[index];
});
控制台日志(结果)可能重复的