Baseline Widely available *
Map
ãªãã¸ã§ã¯ãã¯ãã¼ã¨å¤ã®ãã¢ãä¿æãããã¼ãæåã«æ¿å
¥ãããé åºãè¦ãã¦ãã¾ãã ãã¼ãå¤ã«ã¯ä»»æã®å¤ï¼ãªãã¸ã§ã¯ãã¨ããªããã£ãå¤ï¼ã使ç¨ãããã¨ãã§ãã¾ãã
const map1 = new Map();
map1.set("a", 1);
map1.set("b", 2);
map1.set("c", 3);
console.log(map1.get("a"));
// Expected output: 1
map1.set("a", 97);
console.log(map1.get("a"));
// Expected output: 97
console.log(map1.size);
// Expected output: 3
map1.delete("b");
console.log(map1.size);
// Expected output: 2
解説
Map
ãªãã¸ã§ã¯ãã¯ããã¼ã¨å¤ã®ãã¢ã®ã³ã¬ã¯ã·ã§ã³ã§ããMap
ã®ãã¼ã¯ä¸åº¦ããåºç¾ãã¾ãããMap
ã®éåã®ä¸ã§ä¸æã§ããMap
ãªãã¸ã§ã¯ãã¯ãã¼ã¨å¤ã®ãã¢ã§å復å¦çããã¾ããfor...of
ã«ã¼ãã¯ãåå復å¦çã«å¯¾ã㦠[ãã¼, å¤]
ã¨ãã 2 ã¤ã®ã¡ã³ãã¼ãããªãé
åãè¿ãã¾ããå復å¦ç㯠æ¿å
¥é ã§è¡ããã¾ããããã¯ãããããã®ãã¼ã¨å¤ã®ãã¢ã set()
ã¡ã½ããã«ãã£ã¦æåã«ãããã«æ¿å
¥ãããé çªã«å¯¾å¿ãã¾ãï¼ã¤ã¾ãã set()
ãå¼ã°ããã¨ãã«ã¯ããã§ã«åãå¤ãæã¤ãã¼ããããã«ãªãã£ãã¨ãããã¨ã§ãï¼ã
仿§æ¸ã§ã¯ããå¹³åãã¦ãéåã®è¦ç´ æ°ã«å¯¾ãã¦ãµããªãã¢ãªã¢ã¯ã»ã¹æå»ãæä¾ãããããããå®è£ ãããã¨ãè¦æ±ãã¦ãã¾ãããããã£ã¦ãè¤é度ã O(N) ãããé«ãå ´åãå é¨çã«ã¯ããã·ã¥è¡¨ï¼O(1) ã«ãã¯ã¢ããï¼ãæ¢ç´¢æ¨ï¼O(log(N)) ã«ãã¯ã¢ããï¼ããããã¯ä»ã®ãã¼ã¿æ§é ã¨ãã¦è¡¨ããã¨ãå¯è½ã§ãã
ãã¼ã®ç価æ§ãã¼å¤ã®ç価æ§ã¯ SameValueZero ã¢ã«ã´ãªãºã ã«åºã¥ãã¦è©ä¾¡ããã¾ããï¼ä»¥å㯠SameValue ã使ããã¦ããã 0
㨠-0
ãç°ãªããã®ã¨ãã¦æ±ããã¦ãã¾ããããã©ã¦ã¶ã¼ã®äºææ§ããã§ãã¯ãã¦ãã ããï¼ããã㯠NaN
ã NaN
ã¨ç価ã¨è¦ãªããã®ã§ï¼NaN !== NaN
ã§ããï¼ãä»ã®å¤ã¯ãã¹ã¦ ===
æ¼ç®åã®æå³ã«å¾ã£ã¦ç価æ§ãèæ
®ããã¾ãã
Object
㨠Map
ã¯ä¼¼ã¦ãã¾ããã©ã¡ãããã¼ãå¤ã«è¨å®ãããããããã®å¤ãåãåã£ããããã¼ãåé¤ãããããã¼ã«ä½ããæ ¼ç´ããã¦ãããã©ãããå¤å®ããããããã¨ãã§ãã¾ãããã®æå³ã§ï¼ããã¦ä»ã®çµã¿è¾¼ã¿ãªãã¸ã§ã¯ãããªãã£ãããï¼ã徿¥ Object
㯠Map
ã¨ãã¦ä½¿ããã¦ãã¾ããã
ããããããã¤ãã®å ´é¢ã§ Map
ã®æ¹ãåããããªéè¦ãªéããããã¾ãã
Map
ã¯æ¢å®ã§ã¯ä½ããã¼ãæã£ã¦ãã¾ãããæç¤ºçã«è¨å®ãããã®ã ããå«ã¿ã¾ãã
Object
ã«ã¯ãããã¿ã¤ããããã¾ãããã£ã¦æ¢å®ã®ãã¼ãå«ãã§ããã®ã§ã注æããªãã¨èªåã®ãã¼ã¨è¡çªããå¯è½æ§ãããã¾ãã
ã¡ã¢: ES5 ã§ã¯ã Object.create(null)
ã使ç¨ããã¨åé¿ã§ãã¾ãããããã¯ãã£ãã«è¡ããã¦ãã¾ããã
Map
ã¯ã¦ã¼ã¶ã¼ãæä¾ãããã¼ã¨å¤ã使ç¨ãã¦ãå®å
¨ã§ãã
ã¦ã¼ã¶ã¼ãæä¾ãããã¼ã¨å¤ã®ãã¢ã Object
ã«è¨å®ããã¨ãæ»æè
ããªãã¸ã§ã¯ãã®ãããã¿ã¤ãã䏿¸ãã§ããå¯è½æ§ãããã ãªãã¸ã§ã¯ãã¤ã³ã¸ã§ã¯ã·ã§ã³æ»æ ã«ã¤ãªããå¯è½æ§ãããã¾ããå¶çºçãªãã¼ã®åé¡ã¨åæ§ã«ããããnull
-prototypeãªãã¸ã§ã¯ãã使ç¨ãããã¨ã«ãã£ã¦è»½æ¸ãããã¨ãã§ãã¾ãã
Map
ã®ãã¼ã¯ããããå¤ããªããã¨ãã§ãã¾ã ï¼é¢æ°ããªãã¸ã§ã¯ããããããããªããã£ããªã©ï¼ã Object
ã®ãã¼ã¯æååã¾ãã¯ã·ã³ãã«ã§ãªããã°ãªãã¾ããã ãã¼ã®é åº
Map
ã®ãã¼ã¯ãåç´ã§ç´æçãªæ¹æ³ã§é åºä»ãããã¾ããããªãã¡ãå復å¦çãè¡ãã¨ã Map
ãªãã¸ã§ã¯ãã¯æ¿å
¥é ã§ãã¼ãè¿ãã¾ãã
é常㮠Object
ã®ãã¼ã¯ç¾å¨ã§ã¯é åºä»ãããã¦ãã¾ããã以åã¯ããã§ã¯ãªãã£ãã®ã§ãé åºã¯è¤éã§ããçµæã¨ãã¦ãããããã£ã®é åºã«é ¼ããªãæ¹ãè¯ãã§ãããã
ãã®é åºã¯ ECMAScript 2015 ã§åãã¦èªèº«ã®ããããã£ã«å¯¾ãã¦ã®ã¿å®ç¾©ããã¾ãããã ECMAScript 2020 ã§ã¯ç¶æ¿ãããããããã£ã«å¯¾ãã¦ãåæ§ã«é åºãå®ç¾©ããã¦ãã¾ãã ãããããªãã¸ã§ã¯ãã®ããããã£ããã¹ã¦å復å¦çãããåä¸ã®åä¸ã®ã¡ã«ããºã ã¯ãªããã¨ã«æ³¨æãã¦ãã ããã ï¼for-in
ã¯åæå¯è½ãªæååãã¼ã®ããããã£ã®ã¿ãå«ãã Object.keys
ã¯èªåèªèº«ã®åæå¯è½ãªæååãã¼ã®ããããã£ã®ã¿ãå«ãã Object.getOwnPropertyNames
ã¯åæä¸å¯è½ãªå ´åã§ãèªåèªèº«ã®æååãã¼ã®ããããã£ãå«ãã Object.getOwnPropertySymbols
ã¯ã Symbol
ãã¼ãæã¤ããããã£ã«å¯¾ãã¦ãåããã¨ãè¡ãããªã©ãï¼
大ãã
Map
ã®ä¸ã®ã¢ã¤ãã æ°ã¯ã size
ããããã£ã§ç°¡åã«å¾ããã¨ãã§ãã¾ãã Object
å
ã®ã¢ã¤ãã ã®æ°ã決å®ãããã¨ã¯ãããåããã©ããå¹ççã§ã¯ããã¾ãããä¸è¬çãªæ¹æ³ã¯ã Object.keys()
ããè¿ãããé
åã® length
ãéãã¦è¡ãæ¹æ³ã§ãã å復å¦ç Map
㯠å復å¯è½ ã§ãã®ã§ãç´æ¥å復å¦çãè¡ããã¨ãã§ãã¾ãã Object
ã§ã¯å復å¦çãè¡ãã®ã«ãããã¤ãã®å½¢ã§ãã¼ã®ä¸è¦§ãåå¾ãã¦ããã®ããã§å復å¦çãè¡ãå¿
è¦ãããã¾ãã
Object
㯠å復å¦çãããã³ã«ãå®è£
ãã¦ããªãã®ã§ããªãã¸ã§ã¯ãã JavaScript ã® for...of æã使ç¨ãã¦ç´æ¥å復å¦çãè¡ããã¨ã¯ï¼æ¢å®ã§ã¯ï¼ã§ãã¾ããã
ã¡ã¢:
Object.keys
ã¾ã㯠Object.entries
ã使ç¨ãã¦å復å¦çãè¡ããã¨ã¯ã§ãã¾ãããã¼ã¨å¤ã®ãã¢ãé »ç¹ã«è¿½å ãããåé¤ããããããã¨ãæ±ããããå ´é¢ã§ã¯ãæ§è½ãããè¯ããªãã¾ãã
ãã¼ã¨å¤ã®ãã¢ãé »ç¹ã«è¿½å ãããåé¤ããããããã¨ã«æé©åããã¦ãã¾ããã
ã·ãªã¢ã©ã¤ãºã¨è§£éã·ãªã¢ã©ã¤ãºãè§£éã®ããã®ãã¤ãã£ããªå¯¾å¿ã¯ããã¾ããã
ï¼ãã ãã replacer 弿°ã§ JSON.stringify()
ã使ç¨ãã reviver 弿°ã§ JSON.parse()
ã使ç¨ãããã¨ã§ã Map
ã®ããã«ãç¬èªã®ã·ãªã¢ã©ã¤ãºã¨è§£éã®å¯¾å¿ã使ãããã¨ãã§ãã¾ãã Stack Overflow ã®è³ªå How do you JSON.stringify an ES6 Map? ãåç
§ãã¦ãã ãããï¼
Object
ãã JSON ã¸ã®ã·ãªã¢ã©ã¤ãºã«ã¯ã JSON.stringify()
ã使ç¨ãã¦ãã¤ãã£ãã«å¯¾å¿ãã¦ãã¾ãã
JSON ãã Object
ã¸ã®è§£éã«ã¯ã JSON.parse()
ã使ç¨ãã¦ãã¤ãã£ãã«å¯¾å¿ãã¦ãã¾ãã
Map ãªãã¸ã§ã¯ãã«å¯¾ãã¦ãªãã¸ã§ã¯ãããããã£ãè¨å®ããã¨æ£ããåä½ãã¾ãããæ··ä¹±ãå¬ããã¨ãèãããã¾ãã
ãã¨ãã°ã次ã®ä¾ã¯ä¸å¿åä½ããããã«è¦ãã¾ãã
const wrongMap = new Map();
wrongMap["bla"] = "blaa";
wrongMap["bla2"] = "blaaa2";
console.log(wrongMap); // Map { bla: 'blaa', bla2: 'blaaa2' }
ãããããã®ããã«ããããã£ãè¨å®ããã¨ã Map ãã¼ã¿æ§é ã使ç¨ãã¾ãããä¸è¬çãªãªãã¸ã§ã¯ãã®æ©è½ã使ç¨ãã¾ãã 'bla' ã®å¤ã¯ã¯ã¨ãªã¼ãè¡ãããã® Map ã«æ ¼ç´ããã¾ããããã¼ã¿ã«ãã®ä»ã®æä½ãè¡ãã¨å¤±æãã¾ãã
wrongMap.has("bla"); // false
wrongMap.delete("bla"); // false
console.log(wrongMap); // Map { bla: 'blaa', bla2: 'blaaa2' }
Map ã«ãã¼ã¿ãæ ¼ç´ããæ£ããæ¹æ³ã¯ã set(key, value)
ã¡ã½ããã使ç¨ããæ¹æ³ã§ãã
const contacts = new Map();
contacts.set("Jessie", { phone: "213-555-1234", address: "123 N 1st Ave" });
contacts.has("Jessie"); // true
contacts.get("Hilary"); // undefined
contacts.set("Hilary", { phone: "617-555-4321", address: "321 S 2nd St" });
contacts.get("Jessie"); // {phone: "213-555-1234", address: "123 N 1st Ave"}
contacts.delete("Raymond"); // false
contacts.delete("Jessie"); // true
console.log(contacts.size); // 1
Map 風ã®ãã©ã¦ã¶ã¼ API
ãã©ã¦ã¶ã¼ã® Map
風ãªãã¸ã§ã¯ã (ã¾ãã¯ãMap 風ãªãã¸ã§ã¯ãã) ã¯ãå¤ãã®ç¹ã§ Map
ã®ããã«ãµãã¾ã Web API ã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã§ãã
Map
ã¨åæ§ã«ãé
ç®ã¯ãªãã¸ã§ã¯ãã«è¿½å ãããã®ã¨åãé çªã§èµ°æ»ã§ãã¾ãã ã¾ããMap
風ãªãã¸ã§ã¯ã㨠Map
ã¯åãååã§åãæåã®ããããã£ããã³ã¡ã½ãããæã¡ã¾ãã ããããMap
ã¨éããåé
ç®ã®ãã¼ã¨å¤ã«ã¯äºåã«å®ç¾©ãããç¹å®ã®åãã使ç¨ã§ãã¾ããã
使ç¨å¯è½ãªåã¯ã仿§æ¸ã® IDL å®ç¾©ã§è¨å®ããã¦ãã¾ãã ãã¨ãã°ãRTCStatsReport
ã¯ãã¼ã«ã¯æååããå¤ã«ã¯ãªãã¸ã§ã¯ããç¨ããªããã°ãªããªã Map
風ãªãã¸ã§ã¯ãã§ãã ããã¯ã仿§æ¸ã® IDL ã§ä»¥ä¸ã®ããã«å®ç¾©ããã¦ãã¾ãã
interface RTCStatsReport {
readonly maplike<DOMString, object>;
};
Map
風ãªãã¸ã§ã¯ãã¯èªã¿åãå°ç¨ã®ãã¨ããèªã¿æ¸ãå¯è½ãªãã¨ãããã¾ãã(ä¸ã® IDL ã® readonly
ãã¼ã¯ã¼ãã«æ³¨ç®ãã¦ãã ãã)
Map
風ãªãã¸ã§ã¯ãã¯ããããã㣠size
ã¨ãã¡ã½ãã entries()
ãforEach()
ãget()
ãhas()
ãkeys()
ãvalues()
ãSymbol.iterator
ãæã¡ã¾ããMap
風ãªãã¸ã§ã¯ãã¯ãããã«å ãã¦ã¡ã½ãã clear()
ãdelete()
ãset()
ãæã¡ã¾ãããããã®ã¡ã½ããã¨ããããã£ã¯ããã¼ã¨å¤ã®åã®å¶ç´ãé¤ãã¦ãMap
ã®å¯¾å¿ããã¨ã³ãã£ãã£ã¨åæ§ã«ãµãã¾ãã¾ãã
以ä¸ã¯ãèªã¿åãå°ç¨ã® Map
風ãã©ã¦ã¶ã¼ãªãã¸ã§ã¯ãã®ä¾ã§ãã
Map()
æ°ãã Map
ãªãã¸ã§ã¯ããçæãã¾ãã
Map[Symbol.species]
æ´¾çã¯ã©ã¹ãçæããããã®ã³ã³ã¹ãã©ã¯ã¿ã¼é¢æ°ã§ãã
Map.groupBy()
ä¸ããããå復å¯è½ãªè¦ç´ ããä¸ããããã³ã¼ã«ããã¯é¢æ°ããè¿ãããå¤ã使ç¨ãã¦ã°ã«ã¼ãåãã¾ããæå¾ã«è¿ããã Map
ã¯ããã¹ã颿°ããå¾ããã䏿ã®å¤ããã¼ã¨ãã¦ä½¿ç¨ãã¦ãããåã°ã«ã¼ãã®è¦ç´ ã®é
åãåå¾ããããã«ä½¿ç¨ã§ãã¾ãã
ãããã®ããããã£ã¯ Map.prototype
ã§å®ç¾©ããããã¹ã¦ã® Map
ã¤ã³ã¹ã¿ã³ã¹ã§å
±æããã¾ãã
Map.prototype.constructor
ãã®ã¤ã³ã¹ã¿ã³ã¹ãªãã¸ã§ã¯ãã使ããã³ã³ã¹ãã©ã¯ã¿ã¼é¢æ°ãMap
ã¤ã³ã¹ã¿ã³ã¹ã®å ´åãåæå¤ã¯ Map
ã³ã³ã¹ãã©ã¯ã¿ã¼ã§ãã
Map.prototype.size
Map
ãªãã¸ã§ã¯ãã®ä¸ã®ãã¼ã¨å¤ã®ãã¢ã®æ°ãè¿ãã¾ãã
Map.prototype[Symbol.toStringTag]
[Symbol.toStringTag]
ããããã£ã®åæå¤ã¯æåå "Map"
ã§ãããã®ããããã£ã¯ Object.prototype.toString()
ã§ä½¿ç¨ããã¾ãã
Map.prototype.clear()
Map
ãªãã¸ã§ã¯ããããã¹ã¦ã®ãã¼ã¨å¤ã®ãã¢ãåé¤ãã¾ãã
Map.prototype.delete()
Map
ãªãã¸ã§ã¯ãã«è¦ç´ ãåå¨ããåé¤ãããå ´å㯠true
ãè¿ãã¾ããè¦ç´ ãåå¨ããªããã° false
ãè¿ãã¾ãããã®å¾ã§ã¯ Map.has(key)
ã false
ãè¿ãããã«ãªãã¾ãã
Map.prototype.entries()
Map
ãªãã¸ã§ã¯ãã®åè¦ç´ ã® [key, value]
ãããªã 2 ã¤ã®è¦ç´ ã®é
åãæ¿å
¥é ã§å«ãæ°ããã¤ãã¬ã¼ã¿ã¼ãªãã¸ã§ã¯ããè¿ãã¾ãã
Map.prototype.forEach()
Map
ãªãã¸ã§ã¯ãã«åå¨ãããã¼ã¨å¤ã®ãã¢ã®æ°ã ããæ¿å
¥é ã« callbackFn
ãå¼ã³åºãã¾ãã thisArg
弿°ã forEach
ã«æ¸¡ãããå ´åãåã³ã¼ã«ããã¯ã® this
å¤ã¨ãã¦ä½¿ç¨ããã¾ãã
Map.prototype.get()
key
ã§æå®ããããã¼ã«çµã³ä»ããããå¤ãè¿ãã¾ããåå¨ããªãå ´å㯠undefined
ãè¿ãã¾ãã
Map.prototype.has()
è«çå¤ã§ã渡ããããã¼ã«çµã³ä»ããããè¦ç´ ã Map
ãªãã¸ã§ã¯ãå
ã«åå¨ãããã©ãããè¿ãã¾ãã
Map.prototype.keys()
Map
ãªãã¸ã§ã¯ãå
ã®åè¦ç´ ã®ãã¼ãæ¿å
¥é ã§å«ããæ°ããã¤ãã¬ã¼ã¿ã¼ãªãã¸ã§ã¯ããè¿ãã¾ãã
Map.prototype.set()
Map
ãªãã¸ã§ã¯ãå
ã®æ¸¡ããããã¼ãå¤ã«è¨å®ãã¾ãããã® Map
ãªãã¸ã§ã¯ããè¿ãã¾ãã
Map.prototype.values()
Map
ãªãã¸ã§ã¯ãå
ã®åè¦ç´ ã®å¤ãæ¿å
¥é ã§å«ããæ°ããã¤ãã¬ã¼ã¿ã¼ãªãã¸ã§ã¯ããè¿ãã¾ãã
Map.prototype[Symbol.iterator]()
Map
ãªãã¸ã§ã¯ãå
ã®åè¦ç´ ã® [key, value] ã®é
å
ãæ¿å
¥é ã§å«ããæ°ããã¤ãã¬ã¼ã¿ã¼ãªãã¸ã§ã¯ããè¿ãã¾ãã
const myMap = new Map();
const keyString = "æåå";
const keyObj = {};
const keyFunc = function () {};
// å¤ãè¨å®ãã
myMap.set(keyString, "'æåå' ã¨çµã³ä»ããããå¤");
myMap.set(keyObj, "keyObj ã¨çµã³ä»ããããå¤");
myMap.set(keyFunc, "keyFunc ã¨çµã³ä»ããããå¤");
console.log(myMap.size); // 3
// å¤ãåå¾ãã
console.log(myMap.get(keyString)); // "'æåå' ã¨çµã³ä»ããããå¤"
console.log(myMap.get(keyObj)); // "keyObj ã¨çµã³ä»ããããå¤"
console.log(myMap.get(keyFunc)); // "keyFunc ã¨çµã³ä»ããããå¤"
console.log(myMap.get("æåå")); // "'æåå' ã¨çµã³ä»ããããå¤"ã keyString === 'æåå' ã§ãããã
console.log(myMap.get({})); // undefined, keyObj !== {} ã§ãããã
console.log(myMap.get(function () {})); // undefined, keyFunc !== function () {} ã§ãããã
NaN ã Map ã®ãã¼ã¨ãã¦ä½¿ç¨
NaN
ãã¾ããã¼ã¨ãã¦ä½¿ããã¨ãã§ãã¾ãããã¹ã¦ã® NaN
ã¯èªèº«ã¨çãããªãï¼NaN !== NaN
ã¯çï¼ã«ããããããã以ä¸ã®ä¾ã¯åä½ãã¾ãããã㯠NaN
ãäºãã«åºå¥ã§ããªãããã§ãã
const myMap = new Map();
myMap.set(NaN, "not a number");
myMap.get(NaN);
// "not a number"
const otherNaN = Number("foo");
myMap.get(otherNaN);
// "not a number"
for..of ã使ç¨ãã Map ã®å復å¦ç
ããã㯠for..of
ã«ã¼ãã使ç¨ãã¦å復å¦çãè¡ããã¨ãã§ãã¾ãã
const myMap = new Map();
myMap.set(0, "zero");
myMap.set(1, "one");
for (const [key, value] of myMap) {
console.log(`${key} = ${value}`);
}
// 0 = zero
// 1 = one
for (const key of myMap.keys()) {
console.log(key);
}
// 0
// 1
for (const value of myMap.values()) {
console.log(value);
}
// zero
// one
for (const [key, value] of myMap.entries()) {
console.log(`${key} = ${value}`);
}
// 0 = zero
// 1 = one
forEach() ã§ Map ãå復å¦ç
ããã㯠forEach()
ã¡ã½ããã使ç¨ãã¦å復ã§ãã¾ãã
myMap.forEach((value, key) => {
console.log(`${key} = ${value}`);
});
// 0 = zero
// 1 = one
Array ãªãã¸ã§ã¯ãã¨ã®é¢ä¿
const kvArray = [
["ãã¼1", "å¤1"],
["ãã¼2", "å¤2"],
];
// é常㮠Map ã³ã³ã¹ãã©ã¯ã¿ã¼ã使ã£ã¦ããã¼ã¨å¤ã® 2 次å
é
åããããã«å¤æãã
const myMap = new Map(kvArray);
console.log(myMap.get("ãã¼1")); // "å¤1"
// å±éæ¼ç®åã使ã£ã¦ããããããã¼ã»å¤ã® 2 次å
é
åã«å¤æãã
console.log(Array.from(myMap)); // kvArray ã¨ã¾ã£ããåã Array ã表示ãã
// ãããã¯å±éæ¼ç®åããã¼ã¾ãã¯å¤ã®ã¤ãã¬ã¼ã¿ã¼ã«ä½¿ã£ã¦ããã¼ã¾ãã¯å¤ã®ã¿ã®é
åãå¾ã
console.log([...myMap]);
// ã¾ã㯠keys() ã values() ã®ã¤ãã¬ã¼ã¿ã¼ã使ç¨ãã¦é
åã«å¤æãã
console.log(Array.from(myMap.keys())); // ["key1", "key2"] ãåºåããã
Map ã®è¤è£½ã¨æ··å
Array
ã¨åæ§ã«ã Map
ã¯è¤è£½ãããã¨ãã§ãã¾ãã
const original = new Map([[1, "one"]]);
const clone = new Map(original);
console.log(clone.get(1)); // one
console.log(original === clone); // false (useful for shallow comparison)
ã¡ã¢: ãã¼ã¿èªèº«ã¯è¤è£½ãããªããã¨ã«æ³¨æãã¦ããã¦ãã ããã
ãããã¯ãã¼ã®åºææ§ãä¿æããªããæ··åå¯è½ã§ãã
const first = new Map([
[1, "one"],
[2, "two"],
[3, "three"],
]);
const second = new Map([
[1, "uno"],
[2, "dos"],
]);
// 2 ã¤ã®ããããæ··åãã¾ããéè¤ãããã¼ã¯å¾åã¡ã«ãªãã¾ãã
// ã¹ãã¬ããæ¼ç®åã¯åºæ¬çã« Map ã Array ã«å¤æãã¾ãã
const merged = new Map([...first, ...second]);
console.log(merged.get(1)); // uno
console.log(merged.get(2)); // dos
console.log(merged.get(3)); // three
Map 㯠Array ã¨æ··åãããã¨ãã§ãã¾ãã
const first = new Map([
[1, "one"],
[2, "two"],
[3, "three"],
]);
const second = new Map([
[1, "uno"],
[2, "dos"],
]);
// ãããã¨é
åãæ··åãã¾ããéè¤ãããã¼ã¯å¾åã¡ã«ãªãã¾ãã
const merged = new Map([...first, ...second, [1, "eins"]]);
console.log(merged.get(1)); // eins
console.log(merged.get(2)); // dos
console.log(merged.get(3)); // three
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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