我正在将一个数组传递给一个函数,我很好奇是否有一种快速方法可以使用json样式数组初始化程序来传递一个匿名数组:
例如:
myfunction([1,2,3,4]);
javascript中是否有一些特殊语法允许用非零索引初始化数组?
例如,,而不是
myfunction([,,,,4321]);
//array[4] == 4321 here
但如果您有一个未定义前100个位置的数组,则必须有100个逗号。 [,, ...,4321]
基本上寻找简短形式:
var a = new Array(); a[100] = 4321;
您可以将其用作函数参数。
答案 0 :(得分:9)
类似的东西:
var a = new Array(100).concat([4321]);
答案 1 :(得分:3)
可能最短的方法(但非常难以理解)
(a = [])[100] = 4321;
但是你仍然不能将它直接用作函数参数,因为它返回添加的元素,而不是整个数组。您仍然需要拨打myFunction(a)
。
答案 2 :(得分:2)
传递类似这样的内容:
myfunction({100: "foo", 101: "bar"});
这有效:
function testArray(arr) {
alert(arr[4]);
}
testArray({4: "foo"}); //alerts "foo"