js 与数组的元素绑定 是存储数组元素的 key 还是 直接存储数组元素的对象引用

2021-05-25 09:31:06 +08:00
 silk
const a: Array<{
    key: string;
    data: Object[];
}> = []

另一个对象需要获取这个数组 a 的某个元素,这个对象是保存 key 还是直接保存对 data 数组的引用

1751 次点击
所在节点    JavaScript
8 条回复
7075
2021-05-25 09:39:12 +08:00
js 没有指针的概念,数组类型默认也只是存引用。
yaphets666
2021-05-25 10:15:35 +08:00
没看懂你说啥
JustLookBy
2021-05-25 10:17:14 +08:00
你这保存 key 也没用啊。。。 要也是保存数组的下标。
如果 key 不重复,那就直接用 object 存 不要用数组,那保存 key 就可以了
当然,直接保存对 data 数组的引用 是可以的。
star7th
2021-05-25 11:10:43 +08:00
保存 key 合适。这样解耦。
yikyo
2021-05-25 11:32:21 +08:00
const data: Array<{
[key: string]: Object[];
}> = {};

这样更方便吧。
maplerecall
2021-05-25 11:58:18 +08:00
取决于你的使用频率,存 key 的话你每次取都得遍历数组,存 data 直接用就行了。

如果有很多这样的应用,最好把数组转个 key:data 的 object,这样既不用遍历,也不用直接存 data 的引用。
silk
2021-05-26 08:25:58 +08:00
@maplerecall key 是后端生成的唯一字符串 十几个字母数组用来做属性名 这样 ok ?
no1xsyzy
2021-05-26 12:23:19 +08:00
@silk 完全 ok 的,JSON 就是 JS 里面的「对象」(O)的「表示方式」(N)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/779003

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX