【问题标题】:how can I find a list contains in any element another list in flutter?如何在颤动中找到包含另一个列表的任何元素的列表?
【发布时间】:2020-06-28 18:26:18
【问题描述】:
var firstList= [1,2,3,4,5];
var secondList= [3,5];

// compare result : 3,5
// return true

var firstList= [1,2,3,4,5];
var secondList= [6,7,8];

// compare result : null
// return false

如何比较两个列表中的元素?如果两个列表中有匹配的数据,则返回 true。如果没有匹配,返回false

【问题讨论】:

    标签: flutter contains


    【解决方案1】:

    这应该可以帮助你...

    var firstList = [2, 2, 2, 3];
    var secondList = [3, 3, 3];
    
    var firstListSet = firstList.toSet();
    var secondListSet = secondList.toSet();
    
    print(firstListSet.intersection(secondListSet));
    

    【讨论】:

      【解决方案2】:

      有很多方法可以做到这一点,您可以使用every()contains() 方法来实现这一点

      我会这样做:

        if (secondList.every((item) => firstList.contains(item))) {
          return true;
        } else {
          return false;
        }
      

      希望对你有帮助

      快乐编码:D

      【讨论】:

        【解决方案3】:

        还有一种更快速的方法来检查真假

        var firstList = [2, 2, 2, 3];
        var secondList = [3, 3, 3];
        check(int value) => firstList.contains(value);
        bool res = secondList.any(check); // returns true
        

        【讨论】:

          【解决方案4】:

          下一个解决方案并不完美,但可能对某人有所帮助:

          void main() {
            var list = ["aa", "bb", "cc"];
            for (var el in ['abc', 'aaa', 'bb', 'hmbb', 'afg', 'hhcc']) {
              bool isContains = list.any((e) => el.contains(e));
              if(isContains) {
                print(el);
              }
            }
          }
          

          输出:

          aaa
          bb
          hmbb
          hhcc
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-11-09
            • 2012-03-20
            • 2018-04-19
            • 1970-01-01
            • 1970-01-01
            • 2020-07-07
            相关资源
            最近更新 更多