You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript实现zip函数 修复代码仅返回首个索引对的问题

JS zip函数实现问题修复

问题原因

  • 核心错误是return语句的位置错误:你把return pairArr放在了for循环的内部,循环执行第一轮、完成首个索引元素配对入栈后,就会直接触发return终止函数执行,因此只会返回包含首个配对的数组。
  • 次要优化点:两个数组长度相等的判断放在循环内部无意义,每次循环都会重复执行一次校验,放到函数入口做一次判断即可。

修复后的代码

function zip(arr1, arr2) {
  // 开头先做长度校验,不相等可以直接抛出错误或者返回空,按需调整
  if(arr1.length !== arr2.length) {
    throw new Error('两个数组长度必须相等');
  }
  let pairArr = [];
  for(let i = 0; i < arr1.length; i++) {
    let pairs = [arr1[i], arr2[i]];
    pairArr.push(pairs);
  }
  // 循环全部执行完成后再返回结果
  return pairArr;
}

测试验证

输入zip([1, 2, 3, 4], [1, 2, 3, 4]),即可得到预期输出[[1, 1], [2, 2], [3, 3], [4, 4]]。

内容的提问来源于stack exchange,提问作者Andrawes Batshoun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 07:24:07