[javascript] 객체의 속성 값에서 특정 문자열 찾기

자바스크립트에서 객체는 여러 속성을 가지고 있을 수 있습니다. 객체의 속성 값 중에서 특정 문자열을 찾고 싶을 때는 다음과 같은 방법을 사용할 수 있습니다.

for...in 루프 사용하기

가장 기본적인 방법은 for...in 루프를 사용하여 객체의 모든 속성을 반복하면서 각 속성 값에서 특정 문자열을 찾는 것입니다.

const obj = {
  name: 'John',
  age: 25,
  city: 'New York',
  occupation: 'Developer'
};

for (let key in obj) {
  if (obj[key].includes('York')) {
    console.log(`속성 '${key}'에서 'York' 문자열을 찾았습니다.`);
  }
}

위의 예제에서는 객체 obj의 모든 속성을 for...in 루프를 통해 반복하고, 각 속성 값에서 'York' 문자열을 포함하는지를 확인합니다. 만약 해당 문자열을 포함하고 있다면, 해당 속성의 이름을 출력합니다.

Object.values()Array.prototype.includes() 사용하기

ES2017 이상의 환경에서는 Object.values() 메서드와 Array.prototype.includes() 메서드를 사용하여 보다 간결하게 특정 문자열을 찾을 수 있습니다.

const obj = {
  name: 'John',
  age: 25,
  city: 'New York',
  occupation: 'Developer'
};

const values = Object.values(obj);

if (values.includes('York')) {
  console.log('객체 속성 값 중에서 \'York\' 문자열을 찾았습니다.');
}

위의 예제에서는 Object.values() 메서드를 사용하여 객체 obj의 속성 값들을 배열로 가져온 후, Array.prototype.includes() 메서드를 사용하여 배열에 'York' 문자열이 포함되어 있는지를 확인합니다. 해당 문자열을 포함하고 있다면, 메시지를 출력합니다.

참고 자료