본문 바로가기
Spring/JavaScript+Jsp(HTMl)

[ javascript(js) ] Object 타입에서 특정 값(value)이 있는지 찾기

by snow_hong 2022. 3. 11.

Object 타입에서 특정 값(value)이 있는지 찾기

1. for in 문을 활용해서 key를 하나씩 꺼내서 확인하기

for(var key in obj.sub){
  if(obj.sub[key]) {
    obj.self = true break outside;
  } 
 obj.self = false;
}

2. keys로 키 뽑아서 조건에 해당하는 값 찾기

const targetObj = obj.sub;
if(Object.keys(targetObj).find(key => targetObj[key] === true)) { 
 //key는 오브젝트에서 번호
  obj.self = true 
}else {
obj.self = false
}

 

- Object.keys("오브젝트변수").find(element => "조건식")

Object.keys()는 객체의 키 값을 배열로 반환하고,

.find는 조건에 해당하는 첫 번째 엘리먼트를 반환하고

.findIndex는 조건에 해당하는 첫 번째 인덱스를 반환하기에 상황에 맞게 사용하면 좋을 것 같다.

위에 내용은 참고사이트에 있는 내용인데 2번 내용을 더 상세하게 예제를 추가해봤습니다.

[jsp]
<input type="text" name="userId" value="test1" />
<input type="text" name="userId" value="test2" />
<input type="text" name="userId" value="test3" />
<input type="text" name="userId" value="test4" />

[js]
var index = 
Object.keys($("input[name='userId']").find(key => $("input[name='userId']").eq(key) == "test3");

console.log("index :" + index);

[결과]
index : 2

<참고 사이트>

https://velog.io/@cateto/javascript-Object-%ED%83%80%EC%9E%85%EC%97%90%EC%84%9C-%ED%8A%B9%EC%A0%95-%EA%B0%92value%EC%9D%B4-%EC%9E%88%EB%8A%94%EC%A7%80-%EC%B0%BE%EA%B8%B0

 

[javascript] Object 타입에서 특정 값(value)이 있는지 찾기

Object.keys("오브젝트변수").find(element => "조건식")Object.keys()는 객체의 키 값을 배열로 반환하고,.find는 조건에 해당하는 첫번째 엘리먼트를 반환하고.findIndex는 조건에 해당하는 첫번째 인덱스를 반

velog.io

 

728x90

댓글