0

我正在寻找一种方法来最小化所有索引都具有相同值的数组的创建。这可能是不可能的,但我会发现它非常方便。

考虑:

var layer = [];
layer['game'] = new Kinetic.Layer();
layer['navigation'] = new Kinetic.Layer();
layer['notification'] = new Kinetic.Layer();

(其中 Kinetic.Layer 是一个对象,但我怀疑这并不重要)

寻找类似的东西:

var layer['game','navigation','notification'] = new Kinetic.Layer();

这甚至可能吗?当然,它并不是真正需要的——但我会发现它非常方便,重复代码是一种不好的做法。

不,我不能有一个单一的索引或变量,因为这些对象稍后会在我的代码中更改 - 并且必须在使用前声明它们。

4

2 回答 2

2

在这种情况下,速记将不同,因为所有三个都指向相同Kinetic.Layer而不是具有三个不同的层。

所以,在你的情况下,不要尝试速记。

但是通常,您可以将相同的值分配给多个变量,如下所示:

layer['game'] = layer['navigation'] = layer['notification'] = value;

旁注:您正在使用数组对象[],然后分配字符串键 - 这并不完全正确,您应该使用通用对象{}

于 2012-02-07T22:10:47.210 回答
0

我很确定这应该可行,不记得我在哪里看到它,但我看到它在某个地方踢来踢去。

var layer = [];
layer['game'] = layer['navigation'] = layer['notification'] = new Kinetic.Layer();
于 2012-02-07T22:09:03.950 回答