아래 출력 부분처럼 apple/banana/orange 단어 단위로 쪼개지지 않고, 알파벳 단위로 쪼개졌다.
이렇게 할 경우 litral, primitive type 즉 원시값이 아니라 object type의 문자열로 변환된다.
let fruits = ['apple', 'banana', 'orange']
let fruits_str = new String(fruits)
console.log(fruits_str)
// 출력
// String {'apple,banana,orange'}
// 0: "a"
// 1: "p"
// ....(생략)
// 17: "g"
// 18: "e"
// length: 19
// [[Prototype]]: String
2. .join('separator')
배열 뒤에 join을 붙이고 구분자를 인자로 넣어주면 끝
이때 저 separator는 optional한 부분이므로, 비워두면 default로 콤마(,)가 들어간다.
let fruits_str2 = fruits.join('/')
console.log(fruits_str2)
// 출력 apple/banana/orange
console.clear()
let fruits_str2 = fruits.join()
console.log(fruits_str2)
// 출력 apple,banana,orange
3..toString( )
join처럼 배열을 문자열로 바꿔주지만, 구분자 옵션은 없어서 기본적인 콤마(,)로 구분되어 return된다.
2/ 배열의 반복문
1. for
자주했던 거라 설명은 생략
const fruits = ['apple','banana']
for (let i= 0; i<fruits.length; i++){
console.log(fruits[i])
}
//출력
apple
banana
orange
2. for of
for 문과 흡사하나 살짝 다름
/ for 문 안에서 변수 선언하는 거 까진 같으나, of 를 써서 배열을 낱개의 문자열로 풀어주는 효과
for (let arr of arrs){ }
for (let fruit of fruits){
console.log(fruit);
}
3. .forEach( )
인자값으로 callback 함수를 받아온다.
=> 배열의 개수 만큼 돌건데 이 함수의 값이 돌거다 라는 뜻
forEach의 콜백함수 인자로는 배열의 데이터 / index# / 배열 전체
* 콜백함수 = 함수 내에 매개변수로 들어가는 함수
콜백함수 용도 = 뭔가 순차적으로 실행하고싶을 때 쓴다. (중요한 내용이라 따로 포스팅해야겠다)
콜백함수의 모든 인자를 다 받아올 경우 (배열 내 각각의 데이터 / index / 배열 전체)