忍者ブログ

ひつ(じのひよこが)プログラミングします。
お仕事や趣味で困ったこととか、何度も「あれ?どうだったかしら」と調べたりしたこととか、作ったものとか、こどものこととかを書きます
★前は週末定期更新でしたが今は不定期更新です

2025/02    01« 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  »03

配列内の要素を、内容によって分割する

×

[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];
}));
PR

コメント

ただいまコメントを受けつけておりません。

ブログ内検索

P R