JS배열과 문자열 2

Jungwon Lee(Jenny)·2021년 1월 12일
0
post-thumbnail

배열과 문자열

concat

let a = [1,2,3,4,5];
a.concat(6);
console.log(a); // [1, 2, 3, 4, 5]

뭔가 6이 추가될 것 같지만, 추가되지 않음!

let a2=a.concat(6);
console.log(a2) //[1, 2, 3, 4, 5, 6]

이런식으로 해야 추가된다.
concat은 기존의 배열에 뭔가를 덧붙여서 새로운 배열을 만들 때 쓴다.
원본, 즉 기존 배열이 변하지 않는다! push() 랑 다른 느낌

원본을 바꾸지 않는 concat같은 메소드들은 문자열에도 적용 가능하다

짜투리)

a2=a.concat([6,7,8]); //이런것도 된다

Join

let a=[1,2,3,4,5];
a.join(); // console에 치면 a.join()명령으로 "1,2,3,4,5" 이렇게 뜬다
console.log(a); //여전히 [1,2,3,4,5] 다
let a2 = a.join(); //조인해서 하나의 문자열로 바꿈

a.join(매개변수)
매개변수에 아무것도 없으면 쉼표(,)가 적용된다.

  • a.join(''); => 12345
  • a.join(' + '); => 1 + 2 + 3 + 4 + 5

indexOf, lastIndexOf

//console 에 입력한 값
let a = [1,2,3,4,5];
a.indexOf(3);//2
a.push(2);//[1,2,3,4,5,2]
a.indexOf(2) //1
a.lastIndexOf(2);//5

lastIndexOf는 뒤에서부터 찾는다. 그래서 a[1]의 2 말고 a[5]의 2의 인덱스를 먼저 찾아서 반환해준다.

((참고))

a.indexOf(100); 이렇게 하면 a안에 100이 없기에 -1이 반환된다.
그래서 if(a.indexOf(100) === -1) { }이런코드 많이 쓴다.

slice

let a = [1, 2, 3, 4, 5, 2, 3];
let a2= a.slice(0, 3); // [1, 2, 3]
console.log(a); [1, 2, 3, 4, 5, 2, 3]
console.log(a2); // [1, 2, 3]
//a는 변하지 않음. 기존 배열은 그대로다.

splice

let a = [1, 2, 3, 4, 5, 2, 3];
let a2= a.splice(5, 2); //index 5부터 2개 자르겠다. 라는 뜻
console.log(a2); //[2,3]
console.log(a); //[1,2,3,4,5]

slice와 다르게 splice는 기존 배열에 영향을 준다!!
즉, string에는 쓸수 없다.

profile
FE개발자가 되고싶은 말하는 감자

0개의 댓글