毎日30秒、条件によって、配列を二つのセットに分けます.
1390 ワード
概要
配列、分割
条件に応じて配列を二つのセットに分けます.
このコードは主にAray.prototype.reduceとAray.prototype.pushを利用して、遍歴しながら集められます.ここで、巧妙な点は、
合格と不合格の成績の学生をグループに分けて、もちろん
条件配列に従って、元の配列を分類する.例えば
困った都市では肩を並べて同行する人が必ずいます.より多くの人に文章を見てもらいたいなら、 を励まそうとすれば、二年生はギズブに もし小二ともっと交流したいなら、WeChat この原稿はPush MeTopから来ています.
配列、分割
条件に応じて配列を二つのセットに分けます.
// https://30secondsofcode.org
const bifurcateBy = (arr, fn) =>
arr.reduce((acc, val, i) => (acc[fn(val, i) ? 0 : 1].push(val), acc), [[], []])
コード解析このコードは主にAray.prototype.reduceとAray.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)
類似コード条件配列に従って、元の配列を分類する.例えば
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), [[], []])
共に成長する困った都市では肩を並べて同行する人が必ずいます.
は私達を一緒に成長させます.
を注文してもいいです.
を与えられます.m353839115
を追加します.