문제
데이터 타입이 배열인 변수를 JSON 형태로 바꾸자(쉽게 말해 [1,2,3,4] => '[ 1,2,3,4]'
푸는 순서
코드
1. 문자열의 형태를 생각해서 일일이 붙이기
if( typeof obj === 'object'){
//배열인경우
if(Array.isArray(obj)){
//[4,5,6]=>"[4,5,6]"를 만들어라
//result에 꺽쇄를 넣자
result +="[";
//요소를 넣기 위해서는 하나씩 반복해서 문자열화 시켜서 더해주면 된다.
for(let i=0; i<obj.length; i++){
result +=stringifyJSON(obj[i])
//마지막 요소가 아닐 때까지 쉼표를 넣어주자
if(!(i === obj.length-1)){
result +=",";
};
}
result +="]";
return result;
}
2. foreach를 써서 요소에 접근한 후 요소를 판단하는 재귀함수를 사용해서 결과 값을 도출.
if(Array.isArray(obj)){
// 새로운 배열을 정의한 후 거기에 하나씩 요소를 넣고
let arrResult=[]
//각각의 요소에 접근하여 배열을 만들어줘야 한다.만약에 요소가 string이면 null이면 .. 등등 그래서 재귀를 써야 함.
obj.forEach(function(el){
arrResult.push(stringifyJSON(el))
})
return `[${arrResult}]`
// 마지막에 '${}' 안에 데이터를 넣어주면 됨.
}
'나를 성장시키는 알고리즘' 카테고리의 다른 글
reduce의 활용 *기존 배열의 중복을 점검하라!! (0) | 2021.11.22 |
---|---|
다차원 배열을 계속 접근하여 새로운 배열을 추출 (0) | 2021.10.14 |
이중배열 간단하게 풀기 (0) | 2021.10.01 |
배열을 객체로 전환하기 (0) | 2021.09.29 |
객체를 중첩배열로 리턴하는 함수 (0) | 2021.09.28 |