基于Coldfusion文档..." 数组通过值传递给用户定义的函数,因此函数获取数组数据的新副本,并且调用页面中的数组不会被函数更改. "
所以我正在做一个小练习项目.我首先获取一个数字列表,将其转换为数组(我称之为cardArray),然后对数组进行排序,最后将数组传递给几个UDF,这些UDF将查找数字中的各种模式,并进行操作(如果需要) )参数(也就是传递的数组).
我从不在UDF中引用原始数组,我只引用参数名称.仍然...如果我在调用函数后cfdump原始数组,我的原始数组已被更改.谁能告诉我为什么?
我很确定我可以解决这个问题.因此,解决这个问题不是我的大问题.我的问题是,这种行为完全违背了我"认为"这种行为的方式,这让我发疯了!
function hasPair(pairArray) {
pairCount = 0;
for (i=2; i lte arrayLen(pairArray); i++){
if(pairArray[i] is pairArray[i-1]){
pairCount++
arrayDeleteAt(pairArray, i)
arrayDeleteAt(pairArray, i-1)
i=2
}
}
return pairCount;
}
function hasStraight(straightArray){
sequenceCards = 0;
for (i=2; i lte arrayLen(straightArray); i++){
if(straightArray[i] - straightArray[i-1] is 1){
sequenceCards++
}
}
if (sequenceCards GTE 4){
return 1;
}
else{
return 0;
}
}
</cfscript>
<cfoutput>
<cfset cardList = "5,6,7,8,10,8,9">
<cfset cardArray = listToArray(cardList)>
<cfdump var="#cardArray#" label="Original Array Before">
<cfset …Run Code Online (Sandbox Code Playgroud) 我想格式化电子表格如下,但找不到使用cfspreadsheet或独立的电子表格()函数执行它的正确功能.
请指教!