[JS] 여러 경우의 객체 + foreach

SJ·2022년 6월 20일
0

1. json 데이터 내에서, value가 숫자인 key 값들 출력

객체 탐색 : for in 문 사용

객체의 key 값들 출력
for in 문은 key 값이 있는 것을 탐색하기 위한 목적, 배열 보다 객체에서 사용한다.

for(value in data) {
	console.log(value);
}

객체 탐색

객체의 key 값 반복으로, value 값들 출력

for(key in data) {
	console.log(data[key]);
}

객체 탐색 - Object.keys

data의 키값을 출력하면 배열로 출력

console.log(Object.keys(data)); //Array(n)["a","b","c","d" ...];

객체 탐색 - Object.keys

  • 배열로 출력되므로 해당 배열에서 forEach로 value 출력
Object.keys(data).forEach(function(el) {
	console.log(data[el]);
}

2. json 데이터 중, type 이 "sample"인 element의 "title" 으로 구성된 배열 출력

var result= [];

function search(array, result){
    array.forEach(element => {
       
        if(element.type === "sample"){
             result.push(element.name);
        }
	})
}

search(data, result);
console.log(result);

forEach

  • for문과 마찬가지로, 반복적 탐색을 위해 사용
  • for문과 다르게 index와 조건식, 증감식 없이 callback 함수를 통해 기능을 수행
  1. 배열 forEach(callback)
const arr=[1,2,3,4,5,6];

arr.forEach(function(element){
    console.log(element);
})

or

const arr=[1,2,3,4,5,6];

arr.forEach(element => console.log(element));
  1. forEach에서 callback 함수의 결과
const arr=[1,2,3,4,5,6];
var result =[];

arr.forEach(function(element){
    if(element%2 !=0){
        result.push(element);
    }
});

console.log(result);
  • return 이 없으므로 결과를 만드려면 함수 밖의 변수를 사용.
profile
효율적이고 효과적이게

0개의 댓글