我想知道是否有一种简单的方法可以在Coldfusion列表或数组中强制使用不同的值。
谢谢
最佳答案
没有预定义的功能可以满足您的要求,但是很容易实现自己的功能。我提供的功能非常简单,易于扩展。
variables.myList = "one,two,three";
variables.myList = ListAppendDistinct(variables.myList, "three");
variables.myList = ListAppendDistinct(variables.myList, "four");
function ListAppendDistinct(list, value)
{
var _local = StructNew();
_local.list = list;
if (NOT ListContains(_local.list, value))
{
_local.list = ListAppend(_local.list,value);
}
return _local.list;
}
您可以使用上面的函数将其清楚地追加到数组,这全部假设您使用的是默认定界符。我不确定您的数据的“大小”,因为它可能会变得昂贵。
variables.myArray = ArrayNew(1);
variables.myArray[1] = "one";
variables.myArray[2] = "two";
variables.myArray[3] = "three";
variables.myArray = ArrayAppendDistinct(variables.myArray, "three");
variables.myArray = ArrayAppendDistinct(variables.myArray, "four");
function ArrayAppendDistinct(array, value)
{
var _local = StructNew();
_local.list = ArrayToList(array);
_local.list = ListAppendDistinct(_local.list,value);
return ListToArray(_local.list);
}
关于arrays - Coldfusion独特 list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5227227/