title: extract common elements from lists in dart
body: <p>i have 3 Lists, for example:</p>
  
  <pre><code>  List l1 = [1, 2, 3, 55, 7, 99, 21];
    List l2 = [1, 4, 7, 65, 99, 20, 21];
    List l3 = [0, 2, 6, 7, 21, 99, 26];
  </code></pre>
  
  <p>and i expect the common elements:</p>
  
  <pre><code>// [7,99,21]
  </code></pre>
  
  <p>here is what i've tried but didn't work correctly:</p>
  
  <pre><code> List l1 = [1, 2, 3, 55, 7, 99, 21];
   List l2 = [1, 4, 7, 65, 99, 20, 21];
   List l3 = [0, 2, 6, 7, 21, 99, 26];
   List common = l1;
  
   l2.forEach((element) {
     l3.forEach((element2) {
      if (!common.contains(element) || !common.contains(element2)) {
      common.remove(element);
      common.remove(element2);
      }
     });
   });
  
  print(common);
  </code></pre>
  
  <p>plus, the number of lists is dynamic, so i expect to nest them like this, i have no experience with recursion so i couldn't do it or even know if it's better than nesting loops.</p>
  
  <p>thanks for helping.</p>