试图从列表中删除一个项目

trying to remove an item from List

我的代码运行良好,但我正在尝试进行增强

https://trycf.com/gist/5fdbccd52121856991e6fe3f82307d34/lucee5?theme=monokai

在上面,我正在尝试如果列表中删除的项目是IN,它应该也删除其他以I字母开头的项目

代码正在循环查找列表元素并进行匹配以检测和删除元素

来源

<cfscript>
    i = 'AS,AK,SK,SB,IN,IP';
    Y = 'IN';
local.X = [];
        listEach(I, function(value, index) {
            if (!listFindNoCase(Y, value)) {
                arrayAppend(X, value);
            }
        });
dump(x);
</cfscript>

您可以通过使用 listFindNoCase 检查列表是否包含您的元素,然后使用 listFilter 过滤您不想要的项目来做到这一点,就像这样:

<cfscript>
originalList = 'AS,AK,SK,SB,IN,IP';
needle = 'IN,AS';
newList = originalList;
listEach(needle, function(needle) {
    if (listFindNoCase(newList, needle)) {
        newList = listFilter(newList, function(value) {
            return lcase(left(value, 1)) != lcase(left(needle, 1));
        });
    }
});
dump(newList);
</cfscript>