gpt4 book ai didi

javascript - 计算属性名称({[a] : 1}) in Google Chrome

转载 作者:行者123 更新时间:2023-11-30 10:06:44 25 4
gpt4 key购买 nike

我有这个代码:

var r = {[ar[a]] : 1, [ar[b]] : 1, [ar[c]] : 1,[ar[d]] : 1, [ar[e]] : 1});

这在 Firefox 中有效,但在 Chrome 中无效!

有没有人知道是否有解决这个问题的方法而不做:

var r = {};
r[ar[a]] = 1;
r[ar[b]] = 1;
r[ar[c]] = 1;
r[ar[d]] = 1;
r[ar[e]] = 1;

这似乎有点缓慢和困惑。 (是的,速度在这里非常重要!)

编辑:我在 ar[a] 周围使用了额外的 [] 因为那是我们在 LUA 中使用的方式,它在 firefox 中也有效:)

完整代码是这样的

var al = GC.length - 4;
var bl = al + 1;
var cl = bl + 1;
var dl = cl + 1;
var el = dl + 1;
var a,b,c,d,e;

var bc = [];
for (a = 0; a < al; a++)
for (b = a+1; b < bl; b++)
for (c = b+1; c < cl; c++)
for (d = c+1; d < dl; d++)
for (e = d+1; e < el; e++)
bc.push({[GC[a]] : 1, [GC[b]] : 1, [GC[c]] : 1,[GC[d]] : 1, [GC[e]] : 1});

最佳答案

不幸的是,computed property names尚未登陆最新的 Chrome(撰写本文时为 40.0.2214.115),尽管相关功能如 property name short-hand在 Harmony 旗帜下实现。

相关错误报告(星号表示更新):https://code.google.com/p/v8/issues/detail?id=3754

编辑:您的第一个选择是我代替您做的,但是既然您说速度至关重要,那么您可以做的一件事就是基准测试。不是在没有上下文的情况下将两种方法相互比较的微观基准测试,而是在多个版本中对您的实际代码进行基准测试,以查看哪个优化得更好。

关于javascript - 计算属性名称({[a] : 1}) in Google Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28680679/

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