Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.6k views
in Technique[技术] by (71.8m points)

关于 集合类 和 对象 对比 的经验请教。 collection array object js

关于 集合 和 对象数组 对比

我两种数据结构都写过了,希望听一下各位意见。

例子

// id 唯一
// 来自后端的数据一般是dataA
const dataA = [{ id: 1, name: 'A' }, { id: 2, name: 'B' }]
const dataB = { 1: { id: 1, name: 'A' }, 2: { id: 2, name: 'B' } }

// 一般情况 查询 id = 3
dataA.find(() => id === 3)
dataB[3]

优劣

dataA

  • 优 较为通用,后端一般都是这样的集合,无需需改数据类型
  • 优 数组类型,避免一些js对象的bug
  • 劣 查询需要遍历
  • 中 无法直接去重

dataB

  • 优 查询快
  • 劣 对象类型 会有意外情况,比如覆盖 遍历顺序等

问题

  1. 请补充优劣, 补充经验, 并批评上述
  2. 请问 各个大厂 对于此的 一些解决方案
  3. 请教 相关阅读的 资料

谢谢各位


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
  1. dataA如果是有规则的push,就可直接拿到下标访问。数组采用连续存储空间,减少碎片化内存空间。

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...