lang/js
ECMA6 배열생성
C/H
2019. 6. 4. 08:30
배열 만들기, 배열 생성
Array.of() 메서드
// new Array()
let items = new Array(2);
console.log(items.length); // 2
console.log(items[0]); // undefined
console.log(items[1]); // undefined
items = new Array("2");
console.log(items.length); // 1
console.log(items[0]); // "2"
let items = new Array(1, 2);
console.log(items.length); // 2
console.log(items[0]); // 1
console.log(items[1]); // 2
let items = new Array(3, "2");
console.log(items.length); // 2
console.log(items[0]); // 3
console.log(items[1]); // "2"
// Array.of() // 인자에 배열값을 입력한다.
let items = Array.of(1, 2);
console.log(items.length); // 2
console.log(items[0]); // 1
console.log(items[1]); // 2
items = Array.of(2);
console.log(items.length); // 1
console.log(items[0]); // 2
items = Array.of("2");
console.log(items.length); // 1
console.log(items[0]); // "2"
Array.from()
ECMASCript 5에서 유사 배열 객체를 배열로 변환하기 위해서는 아래 처럼 함수를 작성해서 사용했다.
function makeArray(arrayLike) {
var result = [];
for(var i = 0, len = arrayLike.length; i < len; i++){
result.push(arrayLike[i]);
}
return result;
}
function doSomehting(){
var args = makeArray(argements);
// args 변수 사용
}
function doSomehting(){
var args = Array.from(argements); // 첫번째 인자로 이터러블이나 유사 배열 객체를 전달하면 배열을 반환한다.
// args 변수 사용
}
매핑함수
function translate(){
return Array.from(argements, (value) => value + 1);
}
let numbers = translate(1, 2, 3);
console.log(numbers);
this를 나타내는 세번째 인자
let helper = {
diff: 1,
add(value) {
return value + this.diff;
}
};
function translate(){
return Array.from(argements, helper.add, helper);
}
let numbers = translate(1, 2, 3);
console.log(numbers); // 2,3,4
이터러블에서 동작
let number = {
*[Symbol.iterator]() {
yield 1;
yield 2;
yield 3;
}
};
let numbers2 = Array.from(numbers, (value) => value + 1);
console.log(numbers); // 2,3,4
반응형