devwolf 最近的时间轴更新
devwolf

devwolf

认知即主观
🏢  react前端开发工程师
V2EX 第 434782 号会员,加入于 2019-08-09 16:02:49 +08:00
完全忘了 itemMap[id]还代表了引用
JavaScript  •  devwolf  •  51 天前  •  最后回复来自 devwolf
10
“拼什么,图个啥”我在苏州小公司做前端的这两年
  •  3   
    职场话题  •  devwolf  •  100 天前  •  最后回复来自 jackbrother
    30
    初窥.contains 在 react 中应用的冰山一角
    React  •  devwolf  •  329 天前  •  最后回复来自 devwolf
    2
    论“未来远程扫墓”的可行性与前景
  •  1   
    奇思妙想  •  devwolf  •  2022-04-02 16:07:12 PM  •  最后回复来自 devwolf
    65
    请问我是被禁止发帖了吗
    反馈  •  devwolf  •  2022-02-06 07:49:22 AM  •  最后回复来自 Livid
    7
    图片渐进式加载(progressive)的一次浅尝辄止的探索
    前端开发  •  devwolf  •  2021-11-29 16:20:16 PM  •  最后回复来自 devwolf
    12
    果然 V2EX 的风水节点没什么人发帖呀
    风水  •  devwolf  •  2021-10-19 11:33:53 AM  •  最后回复来自 wangkun025
    8
    请问有没有可以正常运行 uc 浏览器的安卓模拟器啊🙄
    问与答  •  devwolf  •  2021-10-09 16:21:19 PM  •  最后回复来自 beyondex
    16
    devwolf 最近回复了
    51 天前
    回复了 devwolf 创建的主题 JavaScript 完全忘了 itemMap[id]还代表了引用
    @gitignore 没啥问题啊,你这个对我而言可读性还更友好了。

    @TWorldIsNButThis 不是这个意思,标题我是在未理解题意的时候起的,现在看来和标题关系不大了
    51 天前
    回复了 devwolf 创建的主题 JavaScript 完全忘了 itemMap[id]还代表了引用
    一个上午的进展:
    let a = {b:1}, c = a;
    console.log(a);// { b: 1 }
    c.b = 2;
    a = {b:3};
    console.log(a);// { b: 3 }
    console.log(c);// { b: 2 }

    let x = new Map(), z = x;
    x['y'] = '方括号表示法 1';
    x.set('y','set 赋值 1')
    console.log(x.y);// 打印"方括号表示法 1"
    console.log(x.get('y')) // 打印"set 赋值 1"

    阶段总结:
    原本以为是“换了一个写法”的"改引用的值还是改引用" 这类问题。
    现在发现 Map 对象用 方括号 /点号表示法 存的位置和 set 不一样 🧐
    52 天前
    回复了 devwolf 创建的主题 JavaScript 完全忘了 itemMap[id]还代表了引用
    😫完全不记得白天自己看这段代码的时候在想啥了。。。彷佛真在面试现场一样大脑浆糊翻滚,1 楼提醒了也没完全懂用意。
    现在理了一下,确认我之前连 arrayToTree1 都没消化掉。
    结合 shakukansp 的提示,我的理解是:
    [题意] : id 区分每一个值,pid 标记位置,每个 id 按照 pid 来摆放。
    [arrayToTree1] :
    const treeItem = itemMap[id];//treeItem 保存了当前 id 的值

    itemMap[pid].children.push(treeItem);//itemMap 虽然在创建时用 id 作为 key 但可以视作与 id 同值的 pid ,记录一个位置,以此来将 treeItem 放在合适的 children 里

    [arrayToTree2] : 改造后
    const _item = itermMap.get(pid);//这里就是正文里错误代码所欠缺的"盒子"
    _item.children.push(treeItem);//在这个"盒子"里塞东西

    ------------
    天亮我再想想
    52 天前
    回复了 devwolf 创建的主题 JavaScript 完全忘了 itemMap[id]还代表了引用
    @TWorldIsNButThis 就是 #5 的那个巧妙的比喻。
    itemMap[pid] 是个`大盒子`,itemMap[pid].children 是一个`中盒子`,treeitem 是`中盒子`里的`小盒子`。
    需要的是更新`中盒子`里的内容,但是 arrayToTree2 中 itemMap.set 的做法改变了`大盒子`——这个角度上来讲,确实 不一样。
    itemMap.set(pid, { ...itemMap.get(pid), children: itemMap.get(pid).children.concat(treeItem)}); 这段写成这样,
    我初衷也是想在拷贝大盒子的同时只更新`中盒子`里的内容,虽然就结果而言并不如我所想的那样,这块我得慢慢悟一下为啥不一样,有成果了就回复你一下(手头来活还在忙别的)
    52 天前
    回复了 devwolf 创建的主题 JavaScript 完全忘了 itemMap[id]还代表了引用
    @shakukansp 感谢感谢,原来可以这样改,学到了
    105 天前
    回复了 yuptyy 创建的主题 职场话题 恭喜自己, 喜提升职加薪
    沾沾喜气,恭喜高升
    123 天前
    回复了 CHENYIMING 创建的主题 问与答 卸载微信可以提升手机速度
    老板让开发干运营的活,“转发每条公众号的文章到朋友圈,抽查到没法的扣绩效,不服就滚”。这辈子第一次看到这么以为自己权利无限的老板,离职后就准备用老板的聊天截图发小文章——扯远了 ,我这种压根不用朋友圈的,现在也很讨厌微信。怕不是老板不知道有人不常用微信,新出的微信小号我到现在也没弄好。
    156 天前
    回复了 tmtstudio 创建的主题 问与答 毕业工作后,你们是怎么找到对象的
    婚介所
    172 天前
    回复了 Livid 创建的主题 OpenAI 🤖️ /go/openai
    支持。
    原来 v 站也遭殃了,
    感觉这波形式下,将来很多其他搜索引擎的搜索结果也会被污染的更严重
    189 天前
    回复了 overthemoon 创建的主题 问与答 外包离职问题
    “核心业务在我这里”,或者,我的烂摊子没人可以接手——
    我个人建议,如果想离职的心有了,就别在想什么为公司操心和自己的责任感了,再加上这是个人力外包,尽量别谈感情
    关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   799 人在线   最高记录 5634   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 21:30 · PVG 05:30 · LAX 14:30 · JFK 17:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.