[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ただいまコメントを受けつけておりません。
配列内の要素を、内容によって分割したい、ということがあった。例えば以下のような感じである。
const SEX = ['male', 'female']; var list = [ {sex:0, name:'tTro'}, {sex:1, name:'Hanako'}, {sex:1, name:'Mai'}, {sex:0, name:'Seiji'}, {sex:0, name:'Masaru'} ]; // これを以下のようにする { male: [ {sex:0, name:'Taro'}, {sex:0, name:'Seiji'}, {sex:0, name:'Masaru'} ], female: [ {sex:1, name:'Hanako'}, {sex:1, name:'Mai'} ] }
その為に以下のようなものを書いた。
var groupArray = function(array, groupBy) { var result = {}; var length = array.length; for(var i = 0; i < length; i++) { groupId = groupBy(array[i], i, array); if(! result[groupId]) { result[groupId] = []; } result[groupId].push(array[i]); } return result; }; //使い方 console.log( groupArray(list, function(value){ return SEX[value.sex]; }));
ただいまコメントを受けつけておりません。