Baseline 2024
Newly available
ã¡ã¢: ä¸é¨ã®ãã©ã¦ã¶ã¼ã®ãããã¼ã¸ã§ã³ã§ã¯ããã®ã¡ã½ãã㯠Array.prototype.groupToMap()
ã¨ããã¡ã½ããã¨ãã¦å®è£
ããã¦ãã¾ãããã¦ã§ãã®äºææ§ã®åé¡ã«ãããç¾å¨ã¯éçã¡ã½ããã¨ãã¦å®è£
ããã¦ãã¾ãã詳細ã¯ãã©ã¦ã¶ã¼ã®äºææ§ã確èªãã¦ãã ãã
Map.groupBy() éçã¡ã½ããã¯ãæå®ãããã³ã¼ã«ããã¯é¢æ°ã«ãã£ã¦è¿ãããå¤ã使ç¨ãã¦ãæå®ãããå復å¯è½ãªè¦ç´ ãã°ã«ã¼ãåãã¾ããæçµçã«è¿ããã Map
ã¯ããã¹ã颿°ããã®ä¸æãªå¤ããã¼ã¨ãã¦ä½¿ç¨ããåã°ã«ã¼ãã®è¦ç´ ã®é
åãåå¾ããããã«ä½¿ç¨ã§ãã¾ãã
ãã®ã¡ã½ããã¯ä¸»ã«ããããªãã¸ã§ã¯ãã«é¢é£ããè¦ç´ ãã°ã«ã¼ãåããã¨ãã«ä¾¿å©ã§ãç¹ã«ãã®ãªãã¸ã§ã¯ããæéã®çµéã¨ã¨ãã«å¤åããå¯è½æ§ãããå ´åã«ä¾¿å©ã§ãããªãã¸ã§ã¯ããä¸å¤ã§ããå ´åã¯ã代ããã«æååã使ç¨ãã¦ããã表ç¾ããObject.groupBy()
ã§è¦ç´ ãã°ã«ã¼ãåãããã¨ãã§ãã¾ãã
const inventory = [
{ name: "asparagus", type: "vegetables", quantity: 9 },
{ name: "bananas", type: "fruit", quantity: 5 },
{ name: "goat", type: "meat", quantity: 23 },
{ name: "cherries", type: "fruit", quantity: 12 },
{ name: "fish", type: "meat", quantity: 22 },
];
const restock = { restock: true };
const sufficient = { restock: false };
const result = Map.groupBy(inventory, ({ quantity }) =>
quantity < 6 ? restock : sufficient,
);
console.log(result.get(restock));
// [{ name: "bananas", type: "fruit", quantity: 5 }]
æ§æ
Map.groupBy(items, callbackFn)
弿°
items
è¦ç´ ãã°ã«ã¼ãåãããå復å¯è½ãªè¦ç´ ï¼Array
ãªã©ï¼ã
callbackFn
å復å¯è½ãªåè¦ç´ ã«å¯¾ãã¦å®è¡ããã颿°ãããã¯ãç¾å¨ã®è¦ç´ ã®ã°ã«ã¼ãã示ãå¤ï¼ãªãã¸ã§ã¯ãã¾ãã¯ããªããã£ãï¼ãè¿ãå¿ è¦ãããã¾ãããã®é¢æ°ã¯ä»¥ä¸ã®å¼æ°ã§å¼ã³åºããã¾ãã
element
ç¾å¨å¦çä¸ã®è¦ç´ ã
index
ç¾å¨å¦çä¸ã®è¦ç´ ã®ã¤ã³ããã¯ã¹ã
åã°ã«ã¼ãã®ãã¼ãæã¤ Map
ãªãã¸ã§ã¯ãã§ãããããã«é¢é£ããã°ã«ã¼ãã®è¦ç´ ãå«ãé
åãå²ãå½ã¦ããããã®ã§ãã
Map.groupBy()
ã¯ãæå®ããã callbackFn
颿°ãå復å¯è½ãªè¦ç´ ãã¨ã« 1 åå¼ã³åºãã¾ããã³ã¼ã«ããã¯é¢æ°ã¯ãé¢é£ä»ããããè¦ç´ ã®ã°ã«ã¼ãã示ãå¤ãè¿ãå¿
è¦ãããã¾ããcallbackFn
ãè¿ãå¤ã¯ãMap.groupBy()
ãè¿ã Map
ã®ãã¼ã¨ãã¦ä½¿ç¨ããã¾ããåãã¼ã«ã¯ãã³ã¼ã«ããã¯ãåãå¤ãè¿ãããã¹ã¦ã®è¦ç´ ãå«ãé¢é£é
åãããã¾ãã
è¿ããã Map
ã¨å
ã®å復å¯è½ãªè¦ç´ ã¯åãã§ãï¼ãã£ã¼ãã³ãã¼ã§ã¯ããã¾ããï¼ãè¦ç´ ã®å
鍿§é ã夿´ããã¨ãå
ã®å復å¯è½ãªè¦ç´ ã¨è¿ããã Map
ã®ä¸¡æ¹ã«åæ ããã¾ãã
ãã®ã¡ã½ããã¯ãæéã®çµéã¨ã¨ãã«å¤æ´ãããå¯è½æ§ã®ããç¹å®ã®ãªãã¸ã§ã¯ãã«é¢é£ããæ
å ±ãã°ã«ã¼ãåããå¿
è¦ãããå ´åã«ä¾¿å©ã§ãããªãã¸ã§ã¯ãã夿´ããã¦ããè¿ããã Map
ã®ãã¼ã¨ãã¦æ©è½ãç¶ããããã§ãã代ããã«ãªãã¸ã§ã¯ãã®æåå表ç¾ã使ããããã Object.groupBy()
ã®ã°ã«ã¼ãåãã¼ã¨ãã¦ä½¿ç¨ããå ´åã¯ããªãã¸ã§ã¯ãã夿´ããã¦ãå
ã®ãªãã¸ã§ã¯ãã¨ãã®è¡¨ç¾ã¨ã®éã®ãããã³ã°ãç¶æããå¿
è¦ãããã¾ãã
ã¡ã¢: è¿ããã Map
ã®ã°ã«ã¼ãã«ã¢ã¯ã»ã¹ããã«ã¯ãMap
ã®ãã¼ã¨ãã¦å
ã
使ç¨ããã¦ããã®ã¨åããªãã¸ã§ã¯ãã使ç¨ããå¿
è¦ãããã¾ãï¼ãã ãããã®ãªãã¸ã§ã¯ãã®ããããã£ã夿´ãããã¨ã¯ã§ãã¾ãï¼ããã¾ãã¾åãååã¨ããããã£ãæã¤å¥ã®ãªãã¸ã§ã¯ãã使ããã¨ã¯ã§ãã¾ããã
Map.groupBy
㯠this
ã®å¤ãèªã¿ã¾ãããã©ããªãªãã¸ã§ã¯ãã§ãå¼ã³åºããã¨ãã§ããæ°ãã Map
ã¤ã³ã¹ã¿ã³ã¹ãè¿ããã¾ãã
æåã«ããã¾ãã¾ãªé£åã®å¨åº«ã表ããªãã¸ã§ã¯ããå«ãé
åãå®ç¾©ãã¾ãã ããããã®é£å㯠type
ï¼ç¨®é¡ï¼ã¨ quantity
ï¼éï¼ãä¿æãã¦ãã¾ãã
const inventory = [
{ name: "asparagus", type: "vegetables", quantity: 9 },
{ name: "bananas", type: "fruit", quantity: 5 },
{ name: "goat", type: "meat", quantity: 23 },
{ name: "cherries", type: "fruit", quantity: 12 },
{ name: "fish", type: "meat", quantity: 22 },
];
以ä¸ã®ã³ã¼ãã§ã¯ãMap.groupBy()
ã¨ã¢ãã¼é¢æ°ã使ç¨ãã¦ãã¾ãããã®é¢æ°ã¯ãè¦ç´ ã quantity < 6
ã§ãããã©ããã«å¿ãã¦ãrestock
ã¾ã㯠enough
ã¨ãããªãã¸ã§ã¯ãã§ãããã¼ãè¿ãã¾ããè¿ããã result
ãªãã¸ã§ã¯ã㯠Map
ãªã®ã§ãé
åãåå¾ããããã«ãã¼ã§ get()
ãå¼ã³åºãå¿
è¦ãããã¾ãã
const restock = { restock: true };
const sufficient = { restock: false };
const result = Map.groupBy(inventory, ({ quantity }) =>
quantity < 6 ? restock : sufficient,
);
console.log(result.get(restock));
// [{ name: "bananas", type: "fruit", quantity: 5 }]
颿°ã®å¼æ° { quantity }
ã¯ã颿°ã®å¼æ°ã«å¯¾ãããªãã¸ã§ã¯ãã®å岿§æã®åºæ¬ä¾ã§ãããã¨ã«æ³¨æãã¦ãã ãããããã¯ã弿°ã¨ãã¦æ¸¡ããããªãã¸ã§ã¯ãã® quantity
ããããã£ãå±éãã颿°æ¬ä½ã® quantity
ã¨ãã夿°ã«ä»£å
¥ãã¾ããããã¯ã颿°å
ã®è¦ç´ ã«é¢é£ããå¤ã«ã¢ã¯ã»ã¹ããããã®ã¨ã¦ãç°¡æ½ãªæ¹æ³ã§ãã
ãã¼ã§ãã Map
ã¯å
容ã夿´ãã¦ã使ç¨ãç¶ãããã¨ãã§ãã¾ãããããããã¼ãå使ãã¦ä½¿ç¨ãããã¨ã¯ã§ãã¾ããããã®ãããMap
ã使ç¨ããå¿
è¦ããããã®ã¯ããã®ãã¼ã¸ã®åç
§ãä¿æãç¶ãããã¨ãéè¦ã§ãã
// ãã¼ã®å
容ã夿´ãã¦ã使ç¨ãç¶ãããã¾ã
restock["fast"] = true;
console.log(result.get(restock));
// [{ name: "bananas", type: "fruit", quantity: 5 }]
// æ°ãããã¼ã¯ããã¨ãåãæ§é ã® map ã§ãã£ã¦ã使ç¨ã§ãã¾ãã
const restock2 = { restock: true };
console.log(result.get(restock2)); // undefined
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4