• 请不要在回答技术问题时复制粘贴 AI 生成的内容
qW7bo2FbzbC0
V2EX  ›  程序员

单键值对做成[{Name: xx, Value: yy},{Name:xx1,Value:yy1}]的形式还是直接{xx:yy,xx1:yy1}?

  •  
  •   qW7bo2FbzbC0 · Jun 4, 2020 · 2302 views
    This topic created in 2194 days ago, the information mentioned may be changed or developed.

    如题,有点强迫症

    排除 key 重复的情况,这两种解决方案有什么区别吗?

    Supplement 1  ·  Jun 4, 2020
    我暂时想到的是:
    1.取值的时候,{Name: Value: }形式需要多一步
    11 replies    2020-06-05 09:43:12 +08:00
    linvon
        1
    linvon  
       Jun 4, 2020
    不应该分别对应某一个类型的多个实例和多种属性吗?
    qW7bo2FbzbC0
        2
    qW7bo2FbzbC0  
    OP
       Jun 4, 2020
    @linvon 就是遇到了这两种都可以的场景,但是纠结于用那个更合适点,一般是在代码内部交互,非面向外部 API
    faceRollingKB
        3
    faceRollingKB  
       Jun 4, 2020
    如果你需要频繁的使用某个 key‘查找的话,就用第二种啊
    rannnn
        4
    rannnn  
       Jun 4, 2020
    一个有序一个无序
    msg7086
        5
    msg7086  
       Jun 4, 2020
    冒号前面是 key 冒号后面是 value,你再帮他说一遍,你等于……(走错片场了

    一般用 2 就行了,如果 key 重复的话也可以用[[k1, v1], [k2, v2]]这样的结构。
    TomatoYuyuko
        6
    TomatoYuyuko  
       Jun 4, 2020
    第二种可能会遇到 {'12345':'abc'}这种情况,取起来会有点烦人
    ryncv
        7
    ryncv  
       Jun 4, 2020
    目前项目大量使用第二种,需要比较棘手的问题有两个:
    1.作为下拉框选项,遇到需要排序的场景比较难处理
    2.无法处理重名 key (永远不要相信 pm 的鬼话)
    imn1
        8
    imn1  
       Jun 4, 2020
    看业务流程,如果 name 本身是某个 object 的属性的话,还是用第一种吧,例如合并 dict 会比较容易
    如果这个键值对完全独立,跟其他对象毫无关系,那就随意
    banricho
        9
    banricho  
       Jun 4, 2020
    前者有序,后者无序
    前者查询方式更灵活,后者依赖 key 查询

    可控的轻量级的一般用前者,后者的扩展性会更好一些
    someonedeng
        10
    someonedeng  
       Jun 4, 2020
    `{xx:yy,xx1:yy1}` 好像见过不少前端吐槽这种的。。
    qW7bo2FbzbC0
        11
    qW7bo2FbzbC0  
    OP
       Jun 5, 2020
    @someonedeng 面向其他人的话,这里一般采用第一种的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2894 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 12:33 · PVG 20:33 · LAX 05:33 · JFK 08:33
    ♥ Do have faith in what you're doing.