[javascript] 값으로 배열 인덱스를 찾는 방법은 무엇입니까?

내가 가지고 있다고 말해

imageList = [100,200,300,400,500];

어느 것이 나에게

[0]100 [1]200 기타

JavaScript에서 값으로 색인을 반환하는 방법이 있습니까?

즉 , 200 의 인덱스를 원하면 1 이 반환 됩니다.



답변

당신은 사용할 수 있습니다 indexOf:

var imageList = [100,200,300,400,500];
var index = imageList.indexOf(200); // 1

배열에서 값을 찾을 수 없으면 -1을 얻습니다.


답변

들어는 배열 객체 를 사용 map하여 indexOf:

var imageList = [
   {value: 100},
   {value: 200},
   {value: 300},
   {value: 400},
   {value: 500}
];

var index = imageList.map(function (img) { return img.value; }).indexOf(200);

console.log(index);


최신 브라우저에서는 다음을 사용할 수 있습니다 findIndex.

var imageList = [
   {value: 100},
   {value: 200},
   {value: 300},
   {value: 400},
   {value: 500}
];

var index = imageList.findIndex(img => img.value === 200);

console.log(index);

그 ES6의 일부를 지원하는 크롬, FF, 사파리 및 Edge


답변

jQuery의 함수
jQuery.inArray 사용

jQuery.inArray( value, array [, fromIndex ] )
(or) $.inArray( value, array [, fromIndex ] )


답변

다음은 자바 스크립트의 복잡한 배열에서 값 인덱스를 찾는 다른 방법입니다. 누군가를 도와주세요. 다음과 같이 JavaScript 배열이 있다고 가정 해 봅시다.

var studentsArray =
     [
    {
    "rollnumber": 1,
    "name": "dj",
    "subject": "physics"
   },
   {
   "rollnumber": 2,
  "name": "tanmay",
  "subject": "biology"
   },
  {
   "rollnumber": 3,
   "name": "amit",
   "subject": "chemistry"
   },
  ];

이제 배열에서 특정 객체를 선택해야하는 경우 이름이 Tanmay 인 학생의 색인을 찾으려고 가정합니다.

우리는 배열을 반복하고 주어진 키에서 값을 비교함으로써 그렇게 할 수 있습니다.

function functiontofindIndexByKeyValue(arraytosearch, key, valuetosearch) {

    for (var i = 0; i < arraytosearch.length; i++) {

    if (arraytosearch[i][key] == valuetosearch) {
    return i;
    }
    }
    return null;
    }

이 함수를 사용하여 아래와 같이 특정 요소의 색인을 찾을 수 있습니다.

var index = functiontofindIndexByKeyValue(studentsArray, "name", "tanmay");
alert(index);


답변

indexOf 사용

imageList.indexOf(200)


답변

방법은 indexOf?

alert(imageList.indexOf(200));


답변

Array.indexOf일부 Internet Explorer 버전에서는 작동하지 않습니다. 다른 방법이 있지만 여러 가지 방법이 있습니다 …이 질문 / 답변 참조 : 배열에 JavaScript의 객체가 포함되어 있는지 어떻게 확인합니까?