пытаюсь удалить элемент из списка


person Asum    schedule 19.08.2020    source источник
comment
Вы имеете в виду, что хотите удалить IP и IN, если IN найдено в вашем списке?   -  person Gustavo Kawamoto    schedule 19.08.2020
comment
да, и то же самое с другими случаями, если я удалю SK, он должен удалить его соответствующий, начиная с S, и то же самое с AB   -  person Asum    schedule 19.08.2020
comment
Вы можете публиковать ссылки, но, пожалуйста, также размещайте код ЗДЕСЬ, чтобы вопрос оставался полезным и для других (не только для вас), даже после разрыва ссылки....   -  person SOS    schedule 20.08.2020


Ответы (1)


Вы можете сделать это, предварительно проверив, содержит ли список ваш элемент, используя 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>
person Gustavo Kawamoto    schedule 19.08.2020
comment
Это не сработает, если бы у меня было два значения в игле, например «IN, AS». - person Asum; 19.08.2020
comment
Сколько различных значений может содержать список игл и что это за значения? Каков ожидаемый результат для каждого из этих значений? - person SOS; 20.08.2020
comment
Изменен код, чтобы он рассматривал список аргументов для поиска в исходном списке. - person Gustavo Kawamoto; 20.08.2020