[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];
}));
ただいまコメントを受けつけておりません。