Front-end/JS tip

javascirpt object 자르기, index 제한

아지송아지 2022. 1. 5. 12:41

 

object에서 개수 제한을 하고 싶을 때 사용합니다.

 

 

방법 1.


1. key값 배열을 반복문을 돌며 새로운 객체에 넣어줍니다.

let test = {a:0, b:1, c:2, d:3, e:4, f:5};

function sliceObj(obj, sliceCount){
  let newObj = {};
  for(let i=0 ; i < Object.keys(obj).length ; i++){
    if(i > sliceCount-1){break};
    let key = Object.keys(obj)[i];
    newObj[key] = obj[key]
  }
  return newObj
}

console.log(sliceObj(test, 2))

방법 2.


1, key값을 배열에 넣습니다.

2. 만약 제한된 수 보다 많다면 splice()로 제거될 key값을 배열에 넣습니다.

3. map()을 통래 delete로 하나씩 삭제합니다. 

 

let test = {a:0, b:1, c:2, d:3, e:4, f:5, g:6}

function sliceObj(obj, sliceCount){
  let keyArr = Object.keys(obj);
  if(sliceCount < keyArr.length){
    keyArr = keyArr.splice(sliceCount)
  };
  keyArr.map(item => {
    delete test[item];
  })
}

console.log(sliceObj(test, 3))