我正在寻找一种方法来最小化数组的创建,其中所有索引都具有相同的值。这可能是不可能的,但我觉得它非常方便。
考虑:
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();
这甚至可能吗?当然,它并不是真正需要的 - 但我发现它非常方便,重复代码有点不好。
不,我不能拥有一个索引或变量,因为theese对象将在我的代码中稍后更改 - 并且必须在使用前声明它们。
答案 0 :(得分:2)
在这种情况下,速记不会相同,因为所有三个都指向相同的Kinetic.Layer
,而不是有三个不同的层。
所以,在你的情况下,不要尝试速记。
但是一般情况下,您可以为多个变量分配相同的值,如下所示:
layer['game'] = layer['navigation'] = layer['notification'] = value;
旁注:您正在使用数组对象[]
然后分配字符串键 - 这不是严格正确的,您应该使用通用对象{}
。
答案 1 :(得分:0)
我很确定这应该有用,不记得我在哪里见过它但我已经看到它在某个地方踢了。
var layer = [];
layer['game'] = layer['navigation'] = layer['notification'] = new Kinetic.Layer();