Array reduce
阿新 • • 發佈:2018-12-21
Array.prototype.reduce()
按陣列中某個值進行分組
let questions = [{ group: 'group1', title: 'question content 1' }, { group: 'group1', title: 'question content 2' }, { group: 'group1', title: 'question content 3' }, { group: 'group2', title: 'question content 3' }]; let newQuestions = questions.reduce(function (accumulator, currentValue) { accumulator[currentValue.group] = accumulator[currentValue.group] || []; accumulator[currentValue.group].push(currentValue); return accumulator; }, {}); newQuestions值 輸出: // newQuestions = { // group1: [ // {group: 'group1', title: 'question content 1'}, // {group: 'group1', title: 'question content 2'}, // {group: 'group1', title: 'question content 3'} // ], // group2: [{group: 'group2', title: 'question content 3'}] // }