본문 바로가기
JavaScript

JavaScript 배열(2)

by 이히힣 2022. 7. 21.

배열과 반복문은 자주 같이 사용된다.

 

let myNum = [10, 20, 30, 40];
let sum = 0;

for(let n = 0; n < myNum.length; n++){
   sum = sum + myNum[n]  // 반복할 구문
   // sum = 0 + 10 --> sum + myNum[0]
   // sum = 10 + 20 --> sum + myNum[1]
   // sum = 30 + 30 --> sum + myNum[2]
   // sum = 60 + 40 --> sum + myNum[3]
}

console.log(sum);   // 100

 

 

 

[Array.isArray]

 

Array.isArray() 메서드는 인자가 배열인지 판별합니다.

 

typeof words   //object
typeof [1,2,3]   //object

 

인자의 타입을 알려주는 typeof를 사용해도 배열은 object라고 할 뿐 배열인지의 여부는 알려주지 않는다.

이 때 배열인지의 여부를 알려주는 것이 Array.isArray 이다. true / false 로 알려주는 boolean타입이다.

 

Array.isArray('문자열')      //false
Array.isArray('123' )        //false
Array.isArray([1,2,3] )      //true

 

 

 

 

[indexOf]

 

배열에서 지정된 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고 존재하지 않으면 -1을 반환한다.

 

let words = ['apple', 'banana', 'orange']

words.indexOf('apple')     //0
words.indexOf('banana')    //1
words.indexOf('orange')    //2
words.indexOf('없는 단어')   //-1

//index를 알고 싶을때
words.indexOf('apple') === 1     //true
words.indexOf('apple') !== -1    //true
words.indexOf('없는 단어') !== -1  //false

 

함수로도 사용 가능하다.

 

let words = ['apple', 'banana', 'orange']

function hasElement(arr, element){
   let isFruit = arr.indexOf(element) !== -1;
   return isFruit;
   }
   
 //함수로 index를 알고 싶을 때
 hasElsement(words, 'apple')    //true
 hasElsement(words, '없는 단어')  //false

 

 

[includes]

 

배열이 특정 요소를 포함하고 있는지 판별한다.

 

let words = ['apple', 'banana', 'orange']

words.includes('apple')    //true
words.includes('없는 단어')  //false

 

 

 


⭐️⭐️⭐️중요⭐️⭐️⭐️

 

*둘중 하나만 알아야 한다 하면 includes보다는  indexOf를 아는게 좋다!

includes는 존재 여부만 확인 가능하지만 indexOf는 index정보까지 얻을 수 있기 때문에 훨씬 범용성이 넓다.

includes의 치명적 단점: 브라우저 호환성이 좋지 않다.(인터넷 익스플로러에서 사용 불과하지만 이제는 상관 없음)index사용/반복문 사용

 

 

'JavaScript' 카테고리의 다른 글

JavaScript 스코프(scope)  (0) 2022.07.21
JavaScript 객체  (0) 2022.07.21
JavaScript 배열(1)  (0) 2022.07.21
JavaScript 함수(2)  (0) 2022.06.29
JavaScript 함수(1)  (0) 2022.06.29