这看起来像它应该工作,但由于某种原因索引值没有被删除。我认为这一定是非常简单的事情,但??? 下面是代码:拼接不从阵列中删除项目
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'原语来声明一个数字变量。 –