title: What do the filters do in this function? How are we returning what we return?
body: <p>How does the code below work?</p>
  
  <pre><code>function areSimilar(a, b) {
  const ad = a.filter((v,i)=&gt;v!=b[i])
  const bd = b.filter((v,i)=&gt;v!=a[i])
  return ad.length == 0 || (ad.length == 2 &amp;&amp; ad.join('') == 
  bd.reverse().join(''))
  }
  </code></pre>