文章博客

技术团队文档示例


第十一天:数组小技巧

<p>数组小技巧可以方便我们来写我们的代码</p> <h4>1.过滤到数组中所有的假值元素</h4> <h6>使用 Array.filter() 过滤掉数组中所有 假值元素(false, null, 0, &quot;&quot;, undefined, 和 NaN)。使用 Array.filter() 过滤掉数组中所有 假值元素(false, null, 0, &quot;&quot;, undefined, 和 NaN)。</h6> <pre><code class="language-javascript">const compact = arr =&gt; arr.filter(Boolean); let c = [1,2,3,0,'false',null,NaN] let a = compact(c) console.log(a) //[1, 2, 3, "false"]</code></pre> <h4>2.过滤所有的不是数字的元素</h4> <pre><code class="language-javascript">const number = arr =&gt; arr.filter(Number) let b = number(c) console.log(b) //[1, 2, 3]</code></pre> <h4>3.过滤掉所有的字符串</h4> <pre><code class="language-javascript">const filterString = arr =&gt; arr.filter(String); let d = filterString(c) console.log(d) //[1, 2, 3, 0, "false", null, NaN]</code></pre> <h4>4.计算数组中指定值出现的次数</h4> <pre><code class="language-javascript">let arr = [1,2,3,1,1,1,1,3,4,5] ; const countOccurrences = (arr,val) =&gt; arr.reduce((a,v) =&gt; (v === val ? a+1 : a+0),0) ; let count = countOccurrences(arr,1) console.log(count) //5</code></pre> <h4>5.过滤数组中的重复项</h4> <pre><code class="language-javascript">let arr2 = [1,2,3,4,54,5,66,7,2,2,2,2] ; let newArr = [...new Set(arr2)]; console.log(newArr) //[1, 2, 3, 4, 54, 5, 66, 7]</code></pre> <h4>6.深度平铺数组</h4> <pre><code class="language-javascript">const deepFlatten = arr =&gt; [].concat(...arr.map(v =&gt; (Array.isArray(v) ? deepFlatten(v) : v))); deepFlatten([1, [2], [[3], 4], 5]); // [1,2,3,4,5]</code></pre> <h4>7.返回两个数组之间的差异值</h4> <pre><code class="language-javascript">//根据数组 b 创建一个 Set 对象,然后在数组 a 上使用 Array.filter() 方法,过滤出数组 b 中不包含的值。 const difference = (a, b) =&gt; { const s = new Set(b); return a.filter(x =&gt; !s.has(x)); }; difference([1, 2, 3], [1, 2, 4]); // [3] </code></pre> <h4>8.根据数组属性值找某个对象</h4> <pre><code class="language-javascript">function checkObject(arr,property,val){ return arr.find( (ele) =&gt; { return ele[property] === val }) } //例子: var inventory = [ {name: 'apples', quantity: 2}, {name: 'bananas', quantity: 0}, {name: 'cherries', quantity: 5} ]; let a = checkObject(inventory,"name","apples") console.log(a) //[object Object] { // name: "apples", // quantity: 2 }</code></pre>

页面列表

ITEM_HTML