[array]

리턴하는 함수들: split,map, join(문자열 리턴)

  • .some(v => v==7)   : true/false 리턴
  • .find(v => v > 7)   :첫번째 만족하는 값 반환.   없으면 undefined 반환
  • .findIndex(... ) :  첫번째로 만족하는 index반환.  없으면 -1 반환

 

 

예제:

const toCamelCase = (templCode) => {
    return templCode
        .toLowerCase() // 전체를 소문자로 변환
        .split('_') // "_" 기준으로 분할
        .map((word, index) =>
            index === 0 ? word : word.charAt(0).toUpperCase() + word.slice(1) // 첫 단어는 소문자 유지, 이후 단어는 첫 글자만 대문자
        )
        .join(''); // 배열을 문자열로 합침
}

 

특이함수: slice - 문자열/array 모두 동작.

const str = "JavaScript";

console.log(str.slice(5)); // "cript" (start만 입력하면 끝까지)
console.log(str.slice(0, 4)); // "Java"
console.log(str.slice(-6, -3)); // "Scr" (음수 인덱스 사용 가능)

 

- slice와 splice 차이점

            ( 원본 배열 변경 여부,  반환값,     주요 용도 로 비교)

.splice() ✅ 원본 배열을 변경함 삭제된 요소를 배열로 반환 요소 추가, 삭제, 교체
.slice() ❌ 원본 배열을 변경하지 않음 새로운 배열 반환 배열의 일부 복사
[splice 사용예제] 
const index = users.findIndex(user => user.id === 2);
if (index !== -1) {
    users.splice(index, 1); // 삭제
}

 

[Object]:json

let obj = {a:1, b:2, c:3};

  • Object.keys(obj) => array리턴
  • Object.values(obj) => array리턴
  • let newObj = Object.assign(obj);   //딥 카피.  자식이 array/obj일 경우는 잘안될 수도 있으므로,
    - let newObj = JSON.parse(JSON.stringify(obj));

 

 

 

[Set]

 

let mySet = new Set([1,2]);

let newSet = mySet.add(5); //[1,2,5]; 리턴하는 함수, mySet자체도 바꿈.

mySet.delete(2); //[1,5];           //리턴없는 함수

 

  • array의 각종 좋은 함수들을 사용하기 위해 Set->array로 변환필요한 경우 많음
const mySet = new Set([1, 2, 3, 4, 5]);
const arr = Array.from(mySet);
console.log(arr); // [1, 2, 3, 4, 5]

 

 

[String] javascript도 java처럼 immutable이라서,

  • .replace( , ) : 원본은 변경하지 않음
Posted by yongary
,