文章博客

技术团队文档示例


第二十二天:ES6数组:两个数组或数组对象取并集、交集、差集记录贴

<h4>ES6数组:两个数组或数组对象取并集、交集、差集记录贴</h4> <p>文章链接地址: <a href="https://blog.csdn.net/webfullstack/article/details/90041587">https://blog.csdn.net/webfullstack/article/details/90041587</a></p> <blockquote> <p>数组</p> </blockquote> <p><strong>1 . 取并集</strong></p> <pre><code class="language-javascript">let a=new Set([1,2,3,4,5]); let b=new Set([1,2,3,4,5,6,7,8,9]); let arr = Array.from(new Set([...a, ...b])); console.log('arr',arr); // [1,2,3,4,5,6,7,8,9]</code></pre> <p><strong>2. 取交集</strong></p> <pre><code class="language-javascript">let a=new Set([1,2,3,4,5]); let b=new Set([1,2,3,4,5,6,7,8,9]); let arr = Array.from(new Set([...b].filter(x =&gt; a.has(x)))); console.log(arr) //[1,2,3,4,5]</code></pre> <p><strong>3. 去差集</strong></p> <pre><code class="language-javascript">let a=new Set([1,2,3,4,5]); let b=new Set([1,2,3,4,5,6,7,8,9]); let arr = Array.from(new Set([...b].filter(x =&gt; !a.has(x)))); console.log(arr) // [6, 7, 8, 9]</code></pre> <blockquote> <p>数组对象</p> </blockquote> <p><strong>1. 取交集</strong></p> <pre><code class="language-javascript">let a=[{id:1,a:123,b:1234},{id:2,a:123,b:1234}]; let b=[{id:1,a:123,b:1234},{id:2,a:123,b:1234},{id:3,a:123,b:1234},{id:4,a:123,b:1234}]; let arr = [...b].filter(x =&gt; [...a].some(y =&gt; y.id === x.id)); //some返回true或false console.log('arr',arr) //"arr" //[[object Object] { // a: 123, // b: 1234, // id: 1 //}, [object Object] { // a: 123, // b: 1234, // id: 2 //}]</code></pre> <p><strong>2. 去差集</strong></p> <pre><code class="language-javascript">let a=[{id:1,a:123,b:1234},{id:2,a:123,b:1234}]; let b=[{id:1,a:123,b:1234},{id:2,a:123,b:1234},{id:3,a:123,b:1234},{id:4,a:123,b:1234}]; let arr = [...b].filter(x =&gt; [...a].every(y =&gt; y.id !== x.id)); //every也返回布尔值 console.log('arr',arr); //"arr" //[[object Object] { // a: 123, // b: 1234, // id: 3 //}, [object Object] { // a: 123, // b: 1234, // id: 4 //}] </code></pre>

页面列表

ITEM_HTML