Array.join()
배열의 각 '요소'를 구분할 '문자열'을 지정합니다.
'생략'하면 배열의 요소들이 '쉼표'로 구분됩니다.
- 모든 배열 요소가 문자열로 변환된 다음 하나의 문자열로 연결됩니다.
- 요소가 undefined 또는 null이면 빈 문자열로 변환합니다.
[ 예시 ]
let arr = ['a', 'b', 'c', 'd', 'e']
console.log(arr.join()); // a,b,c,d,e
console.log(arr.join('')); // abcde
console.log(arr.join('-')); //a-b-c-d-e
console.log(arr.join(', ')); // a, b, c, d, e
let num = [1,2,3,4,5,6,7,8]
console.log(num.join()); //1,2,3,4,5,6,7,8
console.log(num.join('')); // 12345678
console.log(num.join('-')); // 1-2-3-4-5-6-7-8
console.log(num.join(', ')); // 1, 2, 3, 4, 5, 6, 7, 8
Array.concat([value1]) _ 얕은복사
새로운 Array 객체를 반환, 새로운 배열 생성
넘겨진 배열(원본배열)의 내용을 바꾸지 않고,
1번째 배열에 2번째 배열을 추가해서 얕은복사를 한다
- 원본은 변하지 않음 (원본 영향X)
[예시]
let array1 = ['가','나','다']
let array2 = ['한','글']
let array3 = array1.concat(array2);
console.log(array3); // ["가", "나", "다", "한", "글"]
[예시2]- 배열 세 개 이어붙이기
const num1 = [1, 2, 3];
const num2 = [4, 5, 6];
const num3 = [7, 8, 9];
num1.concat(num2, num3);
// [1, 2, 3, 4, 5, 6, 7, 8, 9]
[예시3]- 배열에 값 이어 붙이기
const alpha = ['a', 'b', 'c'];
alpha.concat(1, [2, 3]);
// ['a', 'b', 'c', 1, 2, 3]
Array.prototype.slice(start,end) _생략가능
넘겨진 배열(원본배열)의 내용을 바꾸지 않고,
start부터 end까지(end 미포함)까지 얕은복사를 한다
(음수 사용가능) mdn문서
end까지(end 미포함)
[예시1]
let arr = ['a', 'b', 'c', 'd', 'e']
console.log(arr.slice(1,0)) // []
console.log(arr.slice()) // ["a", "b", "c", "d", "e"]
console.log(arr.slice(0)) // ["a", "b", "c", "d", "e"]
console.log(arr.slice(0,3)) // ["a", "b", "c"]
console.log(arr.slice(1,-1)) // ["b", "c", "d"]
console.log(arr.slice(1,4)) // ["b", "c", "d"]
console.log(arr.slice(2)) // ["c", "d", "e"]
console.log(arr.slice(-1)) // ["e"]
console.log(arr.slice(-2)) // ["d", "e"]
(),(0)---> 전체 복사
(0부터 3이전까지 복사)
(1부터 0이전까지 복사) -> []빈배열
예시 --> (1,-1) === (1,4)