微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决试图从列表中删除一个项目

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

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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。