Baseline 2024
Newly available
ã¡ã¢: ä¸é¨ã®ãã©ã¦ã¶ã¼ã®ãããã¼ã¸ã§ã³ã§ã¯ããã®ã¡ã½ãã㯠Array.prototype.group()
ã¨ããã¡ã½ããã¨ãã¦å®è£
ããã¦ãã¾ãããã¦ã§ãã®äºææ§ã®åé¡ã«ãããç¾å¨ã¯éçã¡ã½ããã¨ãã¦å®è£
ããã¦ãã¾ãã詳細ã¯ãã©ã¦ã¶ã¼ã®äºææ§ã確èªãã¦ãã ããã
Object.groupBy()
éçã¡ã½ããã¯ãæå®ãããã³ã¼ã«ããã¯é¢æ°ã«ãã£ã¦è¿ãããæååå¤ã«å¾ã£ã¦ãæå®ãããå復å¯è½ãªè¦ç´ ãã°ã«ã¼ãåãã¾ããè¿ããããªãã¸ã§ã¯ãã«ã¯ãã°ã«ã¼ããã¨ã«åå¥ã®ããããã£ããããã°ã«ã¼ãå
ã®è¦ç´ ãå«ãé
åãæ ¼ç´ããã¾ãã
ãã®ã¡ã½ããã¯ãã°ã«ã¼ãåãæååã§è¡¨ç¾ã§ããå ´åã«ä½¿ç¨ãã¾ããä»»æã®å¤ããã¼ã¨ãã¦è¦ç´ ãã°ã«ã¼ãåããå¿
è¦ãããå ´åã¯ã代ããã« Map.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 = Object.groupBy(inventory, ({ quantity }) =>
quantity < 6 ? "restock" : "sufficient",
);
console.log(result.restock);
// [{ name: "bananas", type: "fruit", quantity: 5 }]
æ§æ
Object.groupBy(items, callbackFn)
弿°
items
è¦ç´ ãã°ã«ã¼ãåãããå復å¯è½ãªè¦ç´ ï¼Array
ãªã©ï¼ã
callbackFn
å復å¯è½ãªåè¦ç´ ã«å¯¾ãã¦å®è¡ããã颿°ãããã¯ãç¾å¨ã®è¦ç´ ã®ã°ã«ã¼ãã示ãããããã£ã®ãã¼ï¼æååã¾ãã¯ã·ã³ãã«ï¼ã«å¤æã§ããå¤ãè¿ãå¿ è¦ãããã¾ãããã®é¢æ°ã¯ä»¥ä¸ã®å¼æ°ã§å¼ã³åºããã¾ãã
element
ç¾å¨å¦çä¸ã®è¦ç´ ã
index
ç¾å¨å¦çä¸ã®è¦ç´ ã®ã¤ã³ããã¯ã¹ã
ãã¹ã¦ã®ã°ã«ã¼ãã®ããããã£ãæã¤ null
ãããã¿ã¤ããªãã¸ã§ã¯ã ã§ãããããã«é¢é£ããã°ã«ã¼ãã®è¦ç´ ãå«ãé
åãå²ãå½ã¦ããããã®ã§ãã
Object.groupBy()
ã¯ãæå®ããã callbackFn
颿°ãå復å¯è½ãªè¦ç´ ãã¨ã« 1 åå¼ã³åºãã¾ããã³ã¼ã«ããã¯é¢æ°ã¯ãé¢é£ä»ããããè¦ç´ ã®ã°ã«ã¼ãã示ãæååã¾ãã¯ã·ã³ãã«ï¼ã©ã¡ãã®åã§ããªãå¤ã¯æåå夿ããã¾ãï¼ãè¿ãå¿
è¦ãããã¾ããcallbackFn
ãè¿ãå¤ã¯ãMap.groupBy()
ãè¿ããªãã¸ã§ã¯ãã®ãã¼ã¨ãã¦ä½¿ç¨ããã¾ããåãã¼ã«ã¯ãã³ã¼ã«ããã¯ãåãå¤ãè¿ãããã¹ã¦ã®è¦ç´ ãå«ã飿³é
åãããã¾ãã
è¿ããããªãã¸ã§ã¯ãã®è¦ç´ ã¨å ã®å復å¯è½ãªè¦ç´ ã¯åãã§ãï¼ãã£ã¼ãã³ãã¼ã§ã¯ããã¾ããï¼ãè¦ç´ ã®å 鍿§é ã夿´ããã¨ãå復å¯è½ãªè¦ç´ ã¨è¿ããããªãã¸ã§ã¯ãã®ä¸¡æ¹ã«åæ ããã¾ãã
ä¾ Object.groupBy() ã®ä½¿ç¨æåã«ããã¾ãã¾ãªé£åã®å¨åº«ã表ããªãã¸ã§ã¯ããå«ãé
åãå®ç¾©ãã¾ãã ããããã®é£å㯠type
ï¼ç¨®é¡ï¼ã¨ quantity
ï¼éï¼ãä¿æãã¦ãã¾ãã
const inventory = [
{ name: "asparagus", type: "vegetables", quantity: 5 },
{ name: "bananas", type: "fruit", quantity: 0 },
{ name: "goat", type: "meat", quantity: 23 },
{ name: "cherries", type: "fruit", quantity: 5 },
{ name: "fish", type: "meat", quantity: 22 },
];
以ä¸ã®ã³ã¼ãã§ã¯ãtype
ããããã£ã®å¤ã«ãã£ã¦è¦ç´ ãã°ã«ã¼ãåãã¾ãã
const result = Object.groupBy(inventory, ({ type }) => type);
/* çµæ:
{
vegetables: [
{ name: 'asparagus', type: 'vegetables', quantity: 5 },
],
fruit: [
{ name: "bananas", type: "fruit", quantity: 0 },
{ name: "cherries", type: "fruit", quantity: 5 }
],
meat: [
{ name: "goat", type: "meat", quantity: 23 },
{ name: "fish", type: "meat", quantity: 22 }
]
}
*/
ãã®ã¢ãã¼é¢æ°ã¯ãå¼ã³åºããããã³ã«é
åã®ããããã®è¦ç´ ã® å ãè¿ãã ãã§ãã 颿°ã®å¼æ° { type } ã¯ã颿°ã®å¼æ°ã«å¯¾ãããªãã¸ã§ã¯ãã®å岿§æã®åºæ¬ä¾ã§ãããã¨ã«æ³¨æãã¦ãã ããã ããã¯ã弿°ã¨ãã¦æ¸¡ããããªãã¸ã§ã¯ãã® type
ããããã£ãå±éãã颿°æ¬ä½ã® type
ã¨ããååã®å¤æ°ã«ä»£å
¥ãã¾ãã ããã¯ã颿°å
ã®è¦ç´ ã«é¢é£ããå¤ã«ã¢ã¯ã»ã¹ããããã®ã¨ã¦ãç°¡æ½ãªæ¹æ³ã§ãã
ã¾ããè¦ç´ ã® 1 ã¤ã¾ãã¯è¤æ°ã®ããããã£ã®å¤ããæ¨æ¸¬ãããã°ã«ã¼ãã使ãããã¨ãã§ãã¾ãã 以ä¸ã¯ãquantity
ãã£ã¼ã«ãã®å¤ã«åºã¥ãã¦ãé
ç®ã ok
ã¾ã㯠restock
ã°ã«ã¼ãã«å
¥ãããã¨ã¦ãä¼¼ããããªä¾ã§ãã
function myCallback({ quantity }) {
return quantity > 5 ? "ok" : "restock";
}
const result2 = Object.groupBy(inventory, myCallback);
/* çµæ:
{
restock: [
{ name: "asparagus", type: "vegetables", quantity: 5 },
{ name: "bananas", type: "fruit", quantity: 0 },
{ name: "cherries", type: "fruit", quantity: 5 }
],
ok: [
{ name: "goat", type: "meat", quantity: 23 },
{ name: "fish", type: "meat", quantity: 22 }
]
}
*/
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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