JavaScript の Array.prototype.groupBy
8046 ワード
Array.prototype.groupBy
は最近でした.これはブラウザーでまだサポートされていない新機能であるため、今すぐ試してみたい場合は、SkyPack を使用してポリフィルを提供できます.
import 'https://cdn.skypack.dev/core-js/actual/array/group-by';
この最初の例では、名前を最初の文字でアルファベット順にグループ化しています.
const namesArray = ['Heidi', 'Barry', 'Oliver', 'Williams', 'Willis', 'Werther', 'Wallis'];
const groupedNames = namesArray.groupBy(name => name[0].toUppercase());
console.log(groupedNames);
これはログに記録されます:
{
"H": [
"Heidi"
],
"B": [
"Barry"
],
"O": [
"Oliver"
],
"W": [
"Williams",
"Willis",
"Werther",
"Wallis"
]
}
奇数と偶数をグループ化する例を次に示します.
const numbers = [1,2,3,4,5,6];
numbers.groupBy(number => number % 2 === 0 ? 'even' : 'odd');
絵文字と絵文字以外の文字列をグループ化する例を次に示します.
const strings ['hi', 'bye', 'Merry Christmas', '✨', '🐶'];
const groupedByIsEmoji = strings.groupBy(string => /\p{Extended_Pictographic}/u.test(string) ? 'Emoji' : 'Non-Emoji');
次の例では、フィルム オブジェクトの配列を受け取り、 year プロパティに従ってオブジェクトをグループ化します.
const films = [{
name: 'The Terminator',
year: 1984
}, {
name: 'Blade Runner',
year: 1982
}, {
name: 'Red Dawn',
year: 1984
}, {
name: 'The Wrath of Khan',
year: 1982
}];
const groupedByYear = films.groupBy(film => film.year);
Reference
この問題について(JavaScript の Array.prototype.groupBy), 我々は、より多くの情報をここで見つけました https://dev.to/hypeddev/arrayprototypegroupby-in-javascript-1pd0テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol