<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] >[success] # 獲取數組中不重復的元素 ~~~ 1.'獲取數組中不重復的元素'也就是過濾出的每一項在當前數組中有且只有一個 ~~~ >[info] ## 解決思路 ~~~ 1.使用'fitler'和'indexOf'配合'lastIndexOf' 保證當前元素首尾查都是位置相同的 2.使用'fitler' 和'every' 配合來查詢,利用every 我本身和我本身的值相等外,其他跟我不是本身的值相等就有重復 3.使用對象作為統計獲取統計唯一值 4.'filter'和'filter' 嵌套使用 ~~~ >[danger] ##### 'fitler'和'indexOf'配合'lastIndexOf' ~~~ const {log} =console const filterNonUnique = arr => arr.filter(i => arr.indexOf(i) === arr.lastIndexOf(i)); log(filterNonUnique([1, 2, 2, 3, 4, 4, 5])) // [ 1, 3, 5 ] ~~~ >[danger] ##### 'fitler' 和'every' 配合 ~~~ // arr.every((x, j) => (i === j) === fn(v, x, i, j))) 把這一部分看作我本身和我本身的值相等外,其他跟我不是本 // 身的值相等就有重復 // true 返回給filter 的true條件才會作為過濾條件 const filterNonUniqueBy = (arr, fn) => arr.filter((v, i) => arr.every((x, j) => (i === j) === fn(v, x, i, j))); log(filterNonUniqueBy( [ { id: 0, value: 'a' }, { id: 1, value: 'b' }, { id: 2, value: 'c' }, { id: 1, value: 'd' }, { id: 0, value: 'e' } ], (a, b) => a.id == b.id )) // [ { id: 2, value: 'c' } ] ~~~ >[danger] ##### 使用對象作為統計值 ~~~ const filterNonUniqueBy = (ls)=> { const obj = ls.reduce((acc,val)=>{ acc[val] || (acc[val] = 0) acc[val]++ return acc },Object.create(null)) const uniqls = [] for(let key in obj) { if(obj[key]===1) uniqls.push(key) } return uniqls } console.log(filterNonUniqueBy([1, 2, 2, 3, 4, 4, 5])) // [ '1', '3', '5' ] 這里有問題數字變字符串還是對象的問題用map ~~~ >[danger] ##### 'filter'和'filter' 嵌套使用 ~~~ const filterNonUniqueBy = (ls)=>ls.filter(curr=>ls.filter((val)=>val===curr).length ===1) console.log(filterNonUniqueBy([1, 2, 2, 3, 4, 4, 5])) ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看