gpt4 book ai didi

javascript - 将 Symbol 属性添加到数组

转载 作者:行者123 更新时间:2023-11-30 11:11:52 26 4
gpt4 key购买 nike

我想向数组添加一些元数据,例如标签,但不是实际数据。

假设我有一个像这样的符号:

const s = Symbol('foo')

假设我这样声明一个数组:

const v = [1,2,3];

有没有什么好的方法可以用符号标记数组?显然将其添加为属性可能有效:

v[s] = true;

我假设这不会破坏任何东西,并且在遍历数组时永远不会命中符号属性?不知道!

更新:当我这样做时:

console.log(v);

我得到:

[ 1, 2, 3, [Symbol(foo)]: true ]

但是当我这样做的时候:

v.forEach(x => console.log(x));

我刚刚得到:

1
2
3

最佳答案

I assume that this wont break anything and when the array is traversed the symbol property will never be hit?

是的,无论是迭代还是枚举(你 shouldn't do on arrays anyway)都不会命中符号。访问符号的唯一方法是 Object.getOwnPropertySymbols .

console.log 只是试图帮助调试。这不是您需要隐藏的东西。

关于javascript - 将 Symbol 属性添加到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53345921/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com