使用ColdFusion,是否有任何简单的方法来初始化具有一系列数字的数组?
我知道我可以循环:
testArray = [];
for(i=345;i<645;i++){
ArrayAppend(testArray,i);
}
是否有任何隐式方法来初始化数组并用一系列数字填充它?
答案 0 :(得分:3)
据我所知,只有内置方法来初始化一个包含数据的数组是arrayset,它只允许你使用一个值,而不是一个范围。所以我说答案是否定的。也许你可以通过达到Java级别来解决它,但是没有任何内容可以作为内置的&#39;内置的&#39; CF func for this。
答案 1 :(得分:2)
<cfscript>
testArray = createObject("java", "org.apache.commons.lang.math.IntRange")
.init(345,645).toArray();
writeOutput(testArray[1] & "<br>");
writeOutput(arrayLen(testArray) & "<br>");
writeOutput(arrayToList(testArray));
</cfscript>
跑我:http://www.trycf.com/scratch-pad/pastebin?id=gCG7EASp
请注意testArray
实际上是int[]
数组。尽管CF足够智能,但是某些数组函数(如arrayAppend()
预期java.util.Vector
)会失败。
我很惊讶不需要javacast("int", 345)
。