在 es6 中重写 concat 函数
Rewrite concat function in es6
我有一个简单的函数,我想用 es6 重写,但我没有得到它
其中 arr1 和 arr2 是不同宽度的多维数组,即 arr1[0].length != arr2[0].length
但确实有相同的长度
function conatArrAsColumns(arr1, arr2) {
//This works
var result = arr1.map(function(row, i){
return row.concat(arr2[i]);
});
//This works
var result = arr1.map((row, i) => {
return row.concat(arr2[i]);
});
//This does not work
var result = arr1.map((row) => {
return row.concat(arr2);
});
//This does not work
var result = arr1.map(row => row.concat(arr2)));
return result
}
我正在努力让它发挥作用
var result = arr1.map(row => row.concat(arr2)));
感谢您对此的任何帮助
您“有效”的尝试都使用了索引,而那些“无效”的尝试则没有。你“试图让它工作”的最后一个例子是正确的 - 你只是缺少索引:
var result = arr1.map((row, i) => row.concat(arr2[i]));
如果我没理解错,你想将两个数组合并为一个,你可以使用展开运算符:
function conatArrAsColumns(arr1, arr2) {
const arr3 = [...arr1, arr2]
return arr3
}
console.log(conatArrAsColumns([1,2,[1,2],3], [4,5,6,7,[8,9],10,11]))
//will return [1,2,1,2,3,4,5,6,7,8,9,10,11]
我有一个简单的函数,我想用 es6 重写,但我没有得到它
其中 arr1 和 arr2 是不同宽度的多维数组,即 arr1[0].length != arr2[0].length 但确实有相同的长度
function conatArrAsColumns(arr1, arr2) {
//This works
var result = arr1.map(function(row, i){
return row.concat(arr2[i]);
});
//This works
var result = arr1.map((row, i) => {
return row.concat(arr2[i]);
});
//This does not work
var result = arr1.map((row) => {
return row.concat(arr2);
});
//This does not work
var result = arr1.map(row => row.concat(arr2)));
return result
}
我正在努力让它发挥作用
var result = arr1.map(row => row.concat(arr2)));
感谢您对此的任何帮助
您“有效”的尝试都使用了索引,而那些“无效”的尝试则没有。你“试图让它工作”的最后一个例子是正确的 - 你只是缺少索引:
var result = arr1.map((row, i) => row.concat(arr2[i]));
如果我没理解错,你想将两个数组合并为一个,你可以使用展开运算符:
function conatArrAsColumns(arr1, arr2) {
const arr3 = [...arr1, arr2]
return arr3
}
console.log(conatArrAsColumns([1,2,[1,2],3], [4,5,6,7,[8,9],10,11]))
//will return [1,2,1,2,3,4,5,6,7,8,9,10,11]