지영이의 개발 블로그
[코딩테스트]오타 수정하기 본문
✔문제
Q. key값 마지막 부분에 오타를 섞여 놨습니다.
key값 마지막에 한자릿수 숫자가 섞여있으면 그걸 다 제거하고 싶습니다.
어떻게 코드를 짜면 될까요?
(예시)
array안의 object안에 들어있는
name1 : 'chair' 이게
name : 'chair' 이렇게 숫자만 깔끔하게 없어져야합니다.
var products = [
{
name1 : 'chair',
price1 : 7000,
},
{
name2 : 'sofa',
price : 5000,
},
{
name1 : 'desk',
price3 : 9000,
},
];
<Solution>
for (let item of products) {
for (let key in item) {
if (isNaN(parseInt(key.slice(-1))) == false ) {
let newValue = item[key];
let newKey = key.slice(0, -1);
item[newKey] = newValue;
delete item[key];
}
}
}
console.log(products)
1.isNaN(parseInt('123')) 을 사용하여 key 값의 마지막 글자를 확인해 숫자인지 확인해 준다
2. 그게 숫자면 newValue에 새로운 key값을 만들어준다
3. newKey는 맨 뒷 문자를 제거해줍니다.
4. 기존 오브젝트에 { newKey : newValue } 데이터를 추가해줍니다.
4. 마지막으로 delete 키워드 쓰면 object에 있던 property 지울 수 있습니다.
'코딩 > 코딩테스트' 카테고리의 다른 글
[프로그래머스]Lv2 오픈채팅방 (0) | 2022.07.31 |
---|---|
[프로그래머스]키패드 누르기 (0) | 2022.07.27 |
[프로그래머스]약수의 합 (0) | 2022.07.24 |
✔[프로그래머스]3진법 뒤집기 (0) | 2022.07.22 |
✔[프로그래머스]최소 직사각형 (0) | 2022.07.21 |
Comments