如题,有点强迫症
排除 key 重复的情况,这两种解决方案有什么区别吗?
1
linvon 2020-06-04 15:47:39 +08:00
不应该分别对应某一个类型的多个实例和多种属性吗?
|
2
qW7bo2FbzbC0 OP @linvon 就是遇到了这两种都可以的场景,但是纠结于用那个更合适点,一般是在代码内部交互,非面向外部 API
|
3
faceRollingKB 2020-06-04 15:59:57 +08:00
如果你需要频繁的使用某个 key‘查找的话,就用第二种啊
|
4
rannnn 2020-06-04 16:10:48 +08:00
一个有序一个无序
|
5
msg7086 2020-06-04 16:12:03 +08:00
冒号前面是 key 冒号后面是 value,你再帮他说一遍,你等于……(走错片场了
一般用 2 就行了,如果 key 重复的话也可以用[[k1, v1], [k2, v2]]这样的结构。 |
6
TomatoYuyuko 2020-06-04 16:12:13 +08:00
第二种可能会遇到 {'12345':'abc'}这种情况,取起来会有点烦人
|
7
ryncv 2020-06-04 17:22:28 +08:00
目前项目大量使用第二种,需要比较棘手的问题有两个:
1.作为下拉框选项,遇到需要排序的场景比较难处理 2.无法处理重名 key (永远不要相信 pm 的鬼话) |
8
imn1 2020-06-04 17:45:36 +08:00
看业务流程,如果 name 本身是某个 object 的属性的话,还是用第一种吧,例如合并 dict 会比较容易
如果这个键值对完全独立,跟其他对象毫无关系,那就随意 |
9
banricho 2020-06-04 17:53:28 +08:00
前者有序,后者无序
前者查询方式更灵活,后者依赖 key 查询 可控的轻量级的一般用前者,后者的扩展性会更好一些 |
10
someonedeng 2020-06-04 23:15:43 +08:00
`{xx:yy,xx1:yy1}` 好像见过不少前端吐槽这种的。。
|
11
qW7bo2FbzbC0 OP @someonedeng 面向其他人的话,这里一般采用第一种的
|