반응형
해당 포스팅은 Java Script 객체(Object)의 특정 value가 해당 객체의 몇 번 index에 존재하는지 알아보는 방법을
예시 함수를 통해 정리해보았다.
var object=[
{"NAME": "김멍청", "AGE": "8살", "GRADE": "대(4년제) 3학년"},
{"NAME": "최똑똑", "AGE": "31살", "GRADE": "대(2년제) 1학년"},
{"NAME": "오멍청할뻔", "AGE": "9살", "GRADE": "초 1학년"},
{"NAME": "윤보통", "AGE": "17살", "GRADE": "고 1학년"},
{"NAME": "홍수수께끼", "AGE": "몇살이게?", "GRADE": "몇학년일까?"}
]
function returnOfIndex(value, object){
let index;
for(var i=0; i<object.length; i++){
if(object[i].검색의 기준이 되는 키.indexOf(value) != -1){
index=i;
}
}
return index;
}
위 함수는 인자로 key와 object를 전달했을때, 해당 value가 object의 몇번째 index에 존재하는지 확인하고, 그 결과를 반환한다. 이때 사용되는 함수는 바로 indexOf이다.
indexOf()는 문자열 검색에 많이 사용되는 방법이며,
검색의 기준이 되는 객체에 인자로 전달된 문자열이 존재한다면, 해당 객체의 몇 번째 index에 존재하는지를 반환한다.
검색의 기준이 되는 객체에 인자로 전달된 문자열이 존재하지 않으면, -1을 반환하는 특징을 가지고 있다.
즉, 위 함수에 빗대에서 설명하자면 검색기준이 되는 키에, 내가 인자로 넣은 value가 존재한다면 -1이 아닐 것이고 이 조건에 해당되는 i가 곧 index가 되는 것이다.
따라서 이 방법으로는 검색의 기준이 되는 key로 중복이 없는 value가 들어있는 key를 지정해야만 문제 없이 반환 받고자 하는 결과를 명확히 확인할 수 있다.
아래는 위 함수의 사용 예시이다.
function returnOfIndex(value, object){
let index;
for(var i=0; i<object.length; i++){
if(object[i].NAME.indexOf(value) != -1){ //name에 한하여 검색 가능
index=i;
}
}
return index;
}
var index = returnOfIndex("김멍청", object); //0
console.log(object[index].NAME) //김멍청
console.log(object[index].AGE) //8살
console.log(object[index].GRADE) //대(4년제) 3학년
반응형
'JavaScript' 카테고리의 다른 글
[지도 API] leaflet (0) | 2024.11.22 |
---|---|
[JS] 부등식 검증 함수 (0) | 2024.07.04 |
[openLayers_proj] 좌표계 변환 (0) | 2022.11.21 |
[지도API] Open Layers_2 (0) | 2022.11.21 |
Object_value로 key 참조하기 (0) | 2022.09.23 |