【发布时间】:2021-12-15 07:39:55
【问题描述】:
作为练习的一部分,我将创建一个名为 zip 的函数。它需要两个元素长度相等的数组,然后将它们分成两个具有相同索引元素的数组。我知道还有其他使用 map 功能的解决方案,但我想弄清楚是否有其他解决方案。到目前为止,我有这个:
function zip(arr1, arr2) {
let pairArr = [];
for(var i = 0; i < arr1.length; i++) {
if(arr1.length === arr2.length){
let pairs = [arr1[i],arr2[i]];
pairArr.push(pairs);
} return pairArr;
}
}
这仅返回一个具有两个数组的第一个索引的数组。
[1, 2, 3, 4] [1, 2, 3, 4]
返回 [1, 1]。我需要它返回 [1, 1] [2, 2] [3, 3] [4, 4]。
谢谢。
【问题讨论】:
-
您应该在循环完成后返回,而不是在循环内。循环内的无条件返回意味着循环不能迭代
-
你不能指望别人为你思考和编写代码。您必须思考、尝试和调试。
-
谢谢你,保罗,我没有意识到这一点。我明白了何塞,但我已经用几种方式写了这个,我只需要一个外部视角。感谢您的意见
标签: javascript arrays function