這看起來像它應該工作,但由於某種原因索引值沒有被刪除。我認爲這一定是非常簡單的事情,但??? 下面是代碼:拼接不從陣列中刪除項目
var debug:Boolean = true;
var rtn:Array = database.getView("vwWFSApplicationsEnabled").getColumnValues(0);
var i:Integer = rtn.indexOf("Admin");
if (debug) print ("Position of Admin = " + i + " rtn = " + rtn.toString())
if (i >= 0){
if (debug) print("In splice ")
rtn.splice(i , 1);
if (debug) print("after Splice " + rtn.toString())
}
return rtn.unshift("--- Select Application ---");
當它運行時我在日誌中得到這樣的:
HTTP JVM:特權= 1個RTN = [缺勤請求,管理員,演示]的位置
HTTP JVM:在剪接
HTTP JVM:後剪接[缺勤請求,管理員,演示]
我在indexOf中設置爲1,這是正確的,因此splice(i,1)應該從數組中刪除Admin值,但在拼接後Admin值仍然在列表中。 我在其他情況下使用了拆分,它在那裏工作,但我看不到在此代碼中的任何區別。
這看起來基本正確。你的getView()返回一個真正的純JavaScript數組嗎?或者可能有些不同的東西不能正確實現拼接? – Matthias247
這看起來像TypeScript對我來說。 –
@TomMettam TypeScript沒有(內置)'Integer'類型 - 使用'number'原語來聲明一個數字變量。 –