国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

每日 30 秒 ? 根據(jù)條件將數(shù)組分成兩個集合

Dongjie_Liu / 2418人閱讀

簡介
數(shù)組、拆分

根據(jù)條件將數(shù)組分成兩個集合。

// 該源碼來自于 https://30secondsofcode.org
const bifurcateBy = (arr, fn) =>
  arr.reduce((acc, val, i) => (acc[fn(val, i) ? 0 : 1].push(val), acc), [[], []])
代碼分析

這個代碼主要是利用了 Array.prototype.reduce 和 Array.prototype.push,一邊遍歷一邊進行歸集。其中巧妙之處是一個逗號表達式來在對 acc 進行操作后并返回 acc的值。下面舉一個簡單的例子:

let acc = []

let pushed = (acc.push(2), acc)

// 輸出 [2]
console.log(pushed)
使用場景

將及格和不及格成績的同學進行分組,當然也可以用 Array.prototype.filter 直接獲得及格和不及格成績。

const CUT_OFF_SCORES = 60
const students = [
    { name: "xiaoer", score: 80 },
    { name: "xiaosi", score: 90 },
    { name: "menty", score: 50 },
]

const group = bifurcateBy(students, (student) => student.score >= CUT_OFF_SCORES)
相似代碼

根據(jù)條件數(shù)組來對原數(shù)組進行分類,例如 bifurcate(["beep", "boop"], [true, false])

// 該源碼來自于 https://30secondsofcode.org
const bifurcate = (arr, filter) =>
  arr.reduce((acc, val, i) => (acc[filter[i] ? 0 : 1].push(val), acc), [[], []])
一起成長
在困惑的城市里總少不了并肩同行的 伙伴 讓我們一起成長。

如果您想讓更多人看到文章可以點個 點贊

如果您想激勵小二可以到 Github 給個 小星星

如果您想與小二更多交流添加微信 m353839115

本文原稿來自 PushMeTop

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/102493.html

相關文章

  • 每日 30 ? 數(shù)組所有數(shù)據(jù)是否滿足某條件

    showImg(https://segmentfault.com/img/remote/1460000018770987?w=900&h=500); 簡介 數(shù)組、every、any 判斷一個數(shù)組中是否都滿足特定的條件,如果滿足則返回 true 否則返回 false。 // 該源碼來自于 https://30secondsofcode.org const all = (arr, fn = Boole...

    FullStackDeveloper 評論0 收藏0
  • 每日 30 ? 兩個數(shù)組中的差集

    簡介 數(shù)組、差集、函數(shù) 根據(jù)給出的函數(shù)找出兩個數(shù)組中的差集。 const differenceBy = (a, b, fn) => { const s = new Set(b.map(fn)); return a.filter(el => !s.has(fn(el))); }; 代碼分析 這段代碼使用了ES2015中定義的 Set 對象。Set 對象的值的特點是不含有重復的值,這個特性可以...

    JerryC 評論0 收藏0
  • 每日 30 ? 該不該優(yōu)雅

    showImg(https://segmentfault.com/img/remote/1460000018734296?w=900&h=500); 簡介 可讀性、性能、Spread、Reduce 在 優(yōu)雅三連擊 中有同學提到了 可讀性 這個關鍵詞,就小二個人的觀點 在某個范圍內(nèi)使用比較常用到的小技巧,可以提升一定的可讀性,文中提到的短路運算在初始化變量是提升可讀性的,并且在很多提倡優(yōu)化if 語句...

    JohnLui 評論0 收藏0
  • 每日 30 ? JSON對象數(shù)組轉換 CSV 表格數(shù)據(jù)

    簡介 數(shù)組、對象、CSV、表格、工具 我們在 每日 30 秒之 arrayToCSV 中一起學習了將數(shù)組數(shù)據(jù)轉化為 csv 表格數(shù)據(jù)并導出,那如果是對象數(shù)組怎么辦呢?小腦袋瓜轉得快的同學肯定會說:使用 Array.prototype.map 把需要導出的字段先遍歷取出,再使用 arrayToCSV 將其導出為 CSV 數(shù)據(jù)表格。 可是你有沒有想過如果一個對象數(shù)組數(shù)據(jù)非常之大時,使用 Array.p...

    Ajian 評論0 收藏0
  • 每日 30 ? 數(shù)組轉CSV表格數(shù)據(jù)

    showImg(https://segmentfault.com/img/remote/1460000018771004?w=900&h=500); 簡介 數(shù)組、CSV、表格、工具 將一個數(shù)組轉化為逗號為分割符的字符串(CSV)即表格數(shù)據(jù)。 // 該源碼來自于 https://30secondsofcode.org const arrayToCSV = (arr, delimiter = ,) =...

    nanchen2251 評論0 收藏0

發(fā)表評論

0條評論

Dongjie_Liu

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<