Object.fromEntries()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2020å¹´1æ.
Object.fromEntries() ã¯éçã¡ã½ããã§ããã¼ã¨å¤ã®çµã¿åããã®ãªã¹ãããªãã¸ã§ã¯ãã«å¤æãã¾ãã
試ãã¦ã¿ã¾ããã
const entries = new Map([
["foo", "bar"],
["baz", 42],
]);
const obj = Object.fromEntries(entries);
console.log(obj);
// äºæ³ãããçµæ: Object { foo: "bar", baz: 42 }
æ§æ
Object.fromEntries(iterable)
弿°
iterable-
å復å¯è½ãªãã¸ã§ã¯ããä¾ãã°
ArrayãMapãªã©ããªãã¸ã§ã¯ããå«ããªã¹ããããããã®ãªãã¸ã§ã¯ãã«ã¯ 2 ã¤ã®ããããã£ãããã¾ãã0-
æååã¾ãã¯ã·ã³ãã«ã§ãããããã£ã®ãã¼ã表ãã¾ãã
1-
ããããã£å¤ã
é常ããã®ãªãã¸ã§ã¯ã㯠2 è¦ç´ ã®é åã¨ãã¦å®è£ ãããæåã®è¦ç´ ãããããã£ãã¼ã 2 ã¤ç®ãããããã£å¤ã¨ãªãã¾ãã
è¿å¤
å復å¯è½ãªé ç®ãã使ãããããããã£ãæã¤æ°ãããªãã¸ã§ã¯ãã
説æ
Object.fromEntries() ã¡ã½ããã¯ããã¼ã¨å¤ã®ãªã¹ããåãããããã®é
ç®ãã使ãããããããã£ãæã¤æ°ãããªãã¸ã§ã¯ããè¿ãã¾ãã iterable 弿°ã¯ [Symbol.iterator]() ã¡ã½ãããå®è£
ãã¦ãããªãã¸ã§ã¯ãã§ãããã¨ãæ±ãããã¾ãããã®ã¡ã½ãã㯠2 ã¤ã®è¦ç´ ãæã£ãé
å風ãªãã¸ã§ã¯ããçæããã¤ãã¬ã¼ã¿ã¼ãè¿ãã¾ããæåã®è¦ç´ ã¯ããããã£ãã¼ã¨ãã¦ä½¿ãããå¤ã§ãããæ¬¡ã®è¦ç´ ã¯ããããã£ã®ãã¼ã«é¢é£ä»ããããå¤ã§ãã
Object.fromEntries() 㯠Object.entries() ã®éã®åä½ããã¾ããã Object.entries() ã¯æååãã¼ã®ããããã£ããè¿ããªãã®ã«å¯¾ãã Object.fromEntries() ã¯ã·ã³ãã«ãã¼ã®ããããã£ã使ãããã¨ãã§ãã¾ãã
ã¡ã¢:
Array.from() ã¨ç°ãªãã Object.fromEntries() 㯠this ã®å¤ã使ç¨ããªãã®ã§ãä»ã®ã³ã³ã¹ãã©ã¯ã¿ã¼ã§å¼ã³åºãã¦ããã®åã®ãªãã¸ã§ã¯ãã¯ä½æããã¾ããã
ä¾
>Map ãã Object ã¸ã®å¤æ
Object.fromEntries ã§ã¯ã Map ã Object ã«å¤æãããã¨ãã§ãã¾ãã
const map = new Map([
["foo", "bar"],
["baz", 42],
]);
const obj = Object.fromEntries(map);
console.log(obj); // { foo: "bar", baz: 42 }
Array ãã Object ã¸ã®å¤æ
Object.fromEntries ã§ã¯ã Array ã Object ã«å¤æãããã¨ãã§ãã¾ãã
const arr = [
["0", "a"],
["1", "b"],
["2", "c"],
];
const obj = Object.fromEntries(arr);
console.log(obj); // { 0: "a", 1: "b", 2: "c" }
ãªãã¸ã§ã¯ãã®å¤å½¢
Object.fromEntriesãéã®ã¡ã½ãã Object.entries()ãé
åæä½ã¡ã½ããã使ç¨ãã¦ã以ä¸ã®ããã«ãªãã¸ã§ã¯ããå¤å½¢ãããã¨ãã§ãã¾ãã
const object1 = { a: 1, b: 2, c: 3 };
const object2 = Object.fromEntries(
Object.entries(object1).map(([key, val]) => [key, val * 2]),
);
console.log(object2);
// { a: 2, b: 4, c: 6 }
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-object.fromentries> |