Baseline Widely available
Array.from()
ì ì ë©ìëë ìí ê°ë¥ ëë ì ì¬ ë°°ì´ ê°ì²´ìì ìê² ë³µì¬ë ìë¡ì´ Array
ì¸ì¤í´ì¤ë¥¼ ìì±í©ëë¤.
console.log(Array.from("foo"));
// Expected output: Array ["f", "o", "o"]
console.log(Array.from([1, 2, 3], (x) => x + x));
// Expected output: Array [2, 4, 6]
구문
Array.from(arrayLike)
Array.from(arrayLike, mapFn)
Array.from(arrayLike, mapFn, thisArg)
매ê°ë³ì
arrayLike
ë°°ì´ë¡ ë³íí ìí ê°ë¥ ëë ì ì¬ ë°°ì´ ê°ì²´ì ëë¤.
mapFn
Optional
ë°°ì´ì 모ë ììì ëí´ í¸ì¶í í¨ìì
ëë¤. ì´ í¨ì를 ì ê³µíë©´ ë°°ì´ì ì¶ê°í 모ë ê°ì´ ì´ í¨ì를 íµí´ 먼ì ì ë¬ëê³ , mapFn
ì ë°í ê°ì´ ëì ë°°ì´ì ì¶ê°ë©ëë¤. ì´ í¨ìë ë¤ì ì¸ì를 ì¬ì©íì¬ í¸ì¶ë©ëë¤.
element
ë°°ì´ìì ì²ë¦¬ ì¤ì¸ íì¬ ìì.
index
ë°°ì´ìì ì²ë¦¬ ì¤ì¸ íì¬ ììì ì¸ë±ì¤.
thisArg
Optional
mapFn
ì¤í ìì this
ë¡ ì¬ì©í ê°ì
ëë¤.
ìë¡ì´ Array
ì¸ì¤í´ì¤ì
ëë¤.
ë¤ìê³¼ ê°ì ê²½ì°ì Array.from()
ì ì¬ì©íë©´ Array
를 ë§ë¤ ì ììµëë¤.
Map
, Set
ê³¼ ê°ì ê°ì²´)ì¸ ê²½ì°. ëë ê°ì²´ê° ìí ê°ë¥ì´ ìëë¼ë©´,length
ìì±ê³¼ ì¸ë±ì±ë ììê° ìë ê°ì²´).ìí ê°ë¥ì´ ìëê±°ë ì ì¬ ë°°ì´ì´ ìë ì¼ë° ê°ì²´ë¥¼ ë°°ì´ë¡ ë³ííë ¤ë©´(ìì± í¤, ê° ëë ëì 모ë ì´ê±°íì¬) Object.keys()
, Object.values()
, ëë Object.entries()
를 ì¬ì©í´ì¼ í©ëë¤. ë¹ë기 ìí ê°ë¥ì ë°°ì´ë¡ ë³ííë ¤ë©´ Array.fromAsync()
를 ì¬ì©í©ëë¤.
Array.from()
ì í¬ì ë°°ì´ì ìì±íì§ ììµëë¤. arrayLike
ê°ì²´ì ì¼ë¶ ì¸ë±ì¤ ìì±ì´ ëë½ë ê²½ì°, ì ë°°ì´ìì í´ë¹ ìì±ì undefined
ê° ë©ëë¤.
Array.from()
ìë ìì±ëë ë°°ì´ì ê° ììì ëí´ í¨ì를 ì¤íí ì ìë map()
ê³¼ ë¹ì·í ì íì 매ê°ë³ì mapFn
ì´ ììµëë¤. ì¢ ë ëª
ííê² ì¤ëª
íìë©´, Array.from(obj, mapFn, thisArg)
ë ì¤ê° ë°°ì´ì ìì±íì§ ìëë¤ë ì ê³¼ ë°°ì´ì´ ìì§ ìì± ì¤ì´ê¸° ë문ì ì ì²´ ë°°ì´ ìì´ ë ê°ì ì¸ì(element
, index
)ë§ ë°ëë¤ë ì ì ì ì¸íë©´ Array.from(obj).map(mapFn, thisArg)
ê³¼ ëì¼í 결과를 ê°ì ¸ìµëë¤.
ì°¸ê³ : ì´ ëìì íìí ë°°ì´ìì ë ì¤ìíë°, ì¤ê° ë°°ì´ìë ì ì í íìì ë§ê² ì린 ê°ì´ ìì´ì¼ í기 ë문ì
ëë¤. Array.from()
ì TypedArray.from()
ê³¼ ëì¼í ëìì íëë¡ êµ¬íëììµëë¤.
Array.from()
ë©ìëë ë²ì© í©í 리 ë©ìëì
ëë¤. ì를 ë¤ì´, Array
ì íì í´ëì¤ê° from()
ë©ìë를 ììíë ê²½ì°, ììë from()
ë©ìëë Array
ì¸ì¤í´ì¤ ëì íì í´ëì¤ì ì ì¸ì¤í´ì¤ë¥¼ ë°íí©ëë¤. ì¤ì ë¡ this
ê°ì ì ë°°ì´ì 길ì´ë¥¼ ëíë´ë ë¨ì¼ ì¸ì를 ë°ë 모ë ìì±ì í¨ìê° ë ì ììµëë¤. ìí ê°ë¥ì´ arrayLike
ë¡ ì ë¬ëë©´ ì¸ì ìì´ ìì±ìê° í¸ì¶ëê³ , ë°°ì´í ê°ì²´ê° ì ë¬ëë©´ ë°°ì´í ê°ì²´ì ì ê·íë length를 ì¬ì©íì¬ ìì±ìê° í¸ì¶ë©ëë¤. ìµì¢
length
ë ìíê° ìë£ëë©´ ë¤ì ì¤ì ë©ëë¤. this
ê°ì´ ìì±ì í¨ìê° ìë ê²½ì°, ì¼ë° Array
ìì±ìê° ëì ì¬ì©ë©ëë¤.
Array.from("foo");
// [ "f", "o", "o" ]
Setì¼ë¡ ë°°ì´ ë§ë¤ê¸°
const set = new Set(["foo", "bar", "baz", "foo"]);
Array.from(set);
// [ "foo", "bar", "baz" ]
Mapì¼ë¡ ë°°ì´ ë§ë¤ê¸°
const map = new Map([
[1, 2],
[2, 4],
[4, 8],
]);
Array.from(map);
// [[1, 2], [2, 4], [4, 8]]
const mapper = new Map([
["1", "a"],
["2", "b"],
]);
Array.from(mapper.values());
// ['a', 'b'];
Array.from(mapper.keys());
// ['1', '2'];
NodeListë¡ ë°°ì´ ë§ë¤ê¸°
// DOM ììì ìì±ì 기ë°ì¼ë¡ ë°°ì´ ë§ë¤ê¸°
const images = document.querySelectorAll("img");
const sources = Array.from(images, (image) => image.src);
const insecureSources = sources.filter((link) => link.startsWith("http://"));
ì ì¬ ë°°ì´ ê°ì²´ë¡ ë°°ì´ ë§ë¤ê¸° (arguments)
function f() {
return Array.from(arguments);
}
f(1, 2, 3);
// [ 1, 2, 3 ]
íì´í í¨ìì Array.from() ì¬ì©í기
// íì´í í¨ì를 map í¨ìë¡ ì¬ì©íì¬ ìì ì¡°ì
Array.from([1, 2, 3], (x) => x + x);
// [2, 4, 6]
// ì«ì ìíì¤ ìì±í기
// ë°°ì´ì ê° ìì¹ê° `undefined`ë¡ ì´ê¸°íëë¯ë¡
// ìë 'v'ì ê°ì `undefined`ê° ë©ëë¤.
Array.from({ length: 5 }, (v, i) => i);
// [0, 1, 2, 3, 4]
ìíì¤ ìì±ê¸° (range)
// ìíì¤ ìì±ê¸° í¨ì (Clojure, PHP ë±ìì "range"ë¼ê³ ë í¨)
const range = (start, stop, step) =>
Array.from({ length: (stop - start) / step + 1 }, (_, i) => start + i * step);
// 0..4 ë²ìì ì«ì ìì±í기
range(0, 4, 1);
// [0, 1, 2, 3, 4]
// ë ë¨ê³ì© 1...10 ë²ìì ì«ì ìì±
range(1, 10, 2);
// [1, 3, 5, 7, 9]
// ìíì¤ë¡ ì ë ¬ëë ê²ì íì©íì¬ `Array.from`ì¼ë¡ ìíë²³ì ìì±í기
range("A".charCodeAt(0), "Z".charCodeAt(0), 1).map((x) =>
String.fromCharCode(x),
);
// ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
ë°°ì´ì´ ìë ìì±ìì from() í¸ì¶í기
from()
ë©ìëë ì ë°°ì´ì length
를 ëíë´ë ë¨ì¼ ì¸ì를 ë°ìë¤ì´ë 모ë ìì±ì í¨ììì í¸ì¶í ì ììµëë¤.
function NotArray(len) {
console.log("NotArray called with length", len);
}
// ìí ê°ë¥
console.log(Array.from.call(NotArray, new Set(["foo", "bar", "baz"])));
// NotArrayë lengthê° undefinedì¸ ìíë¡ í¸ì¶ë©ëë¤.
// NotArray { '0': 'foo', '1': 'bar', '2': 'baz', length: 3 }
// ì ì¬ ë°°ì´
console.log(Array.from.call(NotArray, { length: 1, 0: "foo" }));
// NotArrayë lengthê° 1ì¸ ìíë¡ í¸ì¶ë©ëë¤.
// NotArray { '0': 'foo', length: 1 }
this
ê°ì´ ìì±ìê° ìë ê²½ì°, ì¼ë° Array
ê°ì²´ê° ë°íë©ëë¤.
console.log(Array.from.call({}, { length: 1, 0: "foo" })); // [ 'foo' ]
ëª
ì¸ì ë¸ë¼ì°ì í¸íì± ê°ì´ 보기
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