javascript - 在 Javascript 中创建一个名为 zip() 的函数
问题描述
作为练习的一部分,我将创建一个名为 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]。
谢谢你。
解决方案
您将 return 放入循环中。您应该将其添加到循环之外。例如:
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;
}
console.log(zip([1, 2, 3, 4], [1, 2, 3, 4] ));
推荐阅读
- elasticsearch - 在弹性搜索中将子项添加到父文档的嵌套字段中
- c++ - NE10库中FFT函数的输入范围是多少
- ios - 有没有办法为工业增强现实构建 iOS 应用程序?
- ios - 如何为 RadDataForm ListPicker 的选择器设置样式
- c# - 数组是否实现了 IEnumerable
? - flutter - 我的 AppBar 在屏幕上的图像后面,或者我看不到它,有什么建议可以在顶部显示我的 AppBar 和 buttonNavigator 并且是半透明的吗?
- google-sheets - 如何使用条件格式在 Google 表格的 1 列中突出显示部分匹配的重复项
- html - 在有两个标题的表格中,主标题不会在滚动时保持粘性
- python - 如何改变盒子的不透明度(cv2.rectangle)?
- java - 如何修复:java.lang.ClassCastException:androidx.appcompat.widget.AppCompatTextView 无法转换为 android.widget.Button