본문 바로가기

제이쿼리

[제이쿼리] - 배열 관련 매서드 > $.inArray / $.isArray / $.merge / $.index

배열관련 매서드
            
$.inArray() / $.isArray() / $.merge() 매서드

(그렇게까지 쓰지않는다. 배열 합쳐야할 때 merge가끔 사용한다.)
1. $.inArray()매서드는 배열에 저장된 데이터 중 지정한 데이터를 찾아 인덱스 번호를 반환한다. 
2. $.isArray()매서드는 지정한 데이터가 배열 객체면 true를, 배열이 아니면 false를 반환한다. 


3. $.merge()매서드는 두 배열 객체를 하나의 객체로 묶는다. 

(자바스크립트에도 있다. $빼고 뒤에 변수명1, 변수명2 쓰면 된다.)

 

데이터를 반환해주기 때문에 그 데이터를 받아줄 변수그릇이 필요하다

[기본형]
1. $.inArray(data, Array, start index) 
->start index를 생략하면 0번 인덱스부터 찾는다. 20번부터 찾고싶으면 여기에 20을 적으면 된다. 

2. $.isArray(object)

3. $.merge(array1, array2)

 

  let arr1 = ["서울", "대전", "부산", "전주"];
        let arr2 = ["한국", "미국", "일본", "중국"];
        let obj = {
          name: "김땡땡",
          area: "서울",
        };

        //데이터를 받아줄 변수 그릇
        let idxNum = $.inArray("부산", arr1); //2가 나온다.
        console.log(idxNum);

        let okArray1 = $.isArray(arr1);
        let okArray2 = $.isArray(obj);
        console.log(okArray1); //true가 나온다
        console.log(okArray2); //fale가 나옴. obj는 배열이 아니기때문에

        $.merge(arr2, arr1);
        console.log(arr2); // [한국', '미국', '일본', '중국', '서울', '대전', '부산', '전주'] arr2에 arr1이 순차적으로 합쳐짐

 


 $.index()매서드

 



지정한 선택 요소를 찾아서 인덱스값을 반환한다. 

 [기본형]
 
$('요소선택').index('지정 선택 요소');
 <ul>
      <li>내용1</li>
      <li>내용2</li>
      <li id="list3">내용3</li>
      <li>내용4</li>
    </ul>
 
 //index매서드
        let idxNum2 = $("li").index($("#list3")); //2번 인덱스라고 반환해준다. 태그를 선택하게되면 자동으로 배열처럼 담기고, 그 안에서 list3의 인덱스 번호를 반환해준다.
        console.log(idxNum2);