V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
silk
V2EX  ›  JavaScript

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

  •  
  •   silk · 186 天前 · 1066 次点击
    这是一个创建于 186 天前的主题,其中的信息可能已经有所发展或是发生改变。
    const a: Array<{
        key: string;
        data: Object[];
    }> = []
    

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

    8 条回复    2021-05-26 12:23:19 +08:00
    7075
        1
    7075   186 天前
    js 没有指针的概念,数组类型默认也只是存引用。
    yaphets666
        2
    yaphets666   186 天前
    没看懂你说啥
    JustLookBy
        3
    JustLookBy   186 天前
    你这保存 key 也没用啊。。。 要也是保存数组的下标。
    如果 key 不重复,那就直接用 object 存 不要用数组,那保存 key 就可以了
    当然,直接保存对 data 数组的引用 是可以的。
    star7th
        4
    star7th   186 天前
    保存 key 合适。这样解耦。
    yikyo
        5
    yikyo   186 天前
    const data: Array<{
    [key: string]: Object[];
    }> = {};

    这样更方便吧。
    maplerecall
        6
    maplerecall   185 天前 via Android
    取决于你的使用频率,存 key 的话你每次取都得遍历数组,存 data 直接用就行了。

    如果有很多这样的应用,最好把数组转个 key:data 的 object,这样既不用遍历,也不用直接存 data 的引用。
    silk
        7
    silk   185 天前
    @maplerecall key 是后端生成的唯一字符串 十几个字母数组用来做属性名 这样 ok ?
    no1xsyzy
        8
    no1xsyzy   184 天前
    @silk 完全 ok 的,JSON 就是 JS 里面的「对象」(O)的「表示方式」(N)
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2248 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:48 · PVG 11:48 · LAX 19:48 · JFK 22:48
    ♥ Do have faith in what you're doing.