JavaScriptのプロパティでオブジェクトをグループ化する
このような果物や野菜に関するデータを含むオブジェクトの配列があるとします-
const arr = [
{food: 'apple', type: 'fruit'},
{food: 'potato', type: 'vegetable'},
{food: 'banana', type: 'fruit'},
]; そのような配列を1つ取り込むJavaScript関数を作成する必要があります。
次に、関数は、オブジェクトの「type」プロパティに基づいて配列オブジェクトをグループ化する必要があります。
これは、すべての「果物」タイプのオブジェクトがグループ化され、「野菜」タイプのオブジェクトが別々にグループ化されることを意味します。
例
このためのコードは-
になりますconst arr = [
{food: 'apple', type: 'fruit'},
{food: 'potato', type: 'vegetable'},
{food: 'banana', type: 'fruit'},
];
const transformArray = (arr = []) => {
const res = [];
const map = {};
let i, j, curr;
for (i = 0, j = arr.length; i < j; i++) {
curr = arr[i];
if (!(curr.type in map)) {
map[curr.type] = {type: curr.type, foods: []};
res.push(map[curr.type]);
};
map[curr.type].foods.push(curr.food);
};
return res;
};
console.log(transformArray(arr)); 出力
そして、コンソールの出力は-
になります[
{ type: 'fruit', foods: [ 'apple', 'banana' ] },
{ type: 'vegetable', foods: [ 'potato' ] }
] -
JavaScriptでIDごとにオブジェクトの配列をグループ化する方法は?
以下は、JavaScriptでオブジェクトの配列をIDでグループ化するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>
-
JavaScriptの値に基づいてオブジェクトをグループ化する方法は?
以下は、JavaScriptの値に基づいてオブジェクトをグループ化するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>