咖喱盖饭真的香 2021-10-12 11:40 采纳率: 100%
浏览 239
已结题

js数组中有值但是长度为0

为什么明明res数组中是有值的但是长度为0呢?

var backTracking = function (nums, res, allRes, used) {
  if (res.length === nums.length) {
    console.log(res);
    allRes.push(res);
    return;
  }
  for (let i = 0; i < nums.length; i++) {
    if (used[i]) {
      continue;
    }
    res.push(nums[i]);
    used[i] = true;
    backTracking(nums, res, allRes, used);
    res.pop(nums[i]);
    used[i] = false;
  }
};

let res = [],
  allRes = [],
  used = [],
  nums = [1, 2, 3];
for (let i = 0; i < used.length; i++) {
  used[i] = false;
}
backTracking(nums, res, allRes, used);
console.log(allRes);

img

  • 写回答

4条回答 默认 最新

  • 凌风游 2021-10-12 13:32
    关注

    那是因为console.log()打印时是有值的,值就是黑色字体显示的部分。
    而紫红色显示的部分是系统取出来所打印变量的真实内容(icon图标i 鼠标放上去显示的是刚刚估算出来的值)。
    因为你这段代码,在打印后,随即下面的代码就改变了该变量的值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 已采纳回答 10月12日
  • 创建了问题 10月12日

悬赏问题

  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 Macbookpro 连接热点正常上网,连接不了Wi-Fi。
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果