[선형] 2. 배열




js array, 고차함수 참고하기


1. 배열 (Array)

  • 여러 개체(Entity)값을 순차적으로 나열한 선형 자료 구조
  • 배열 내 값을 요소(element)라고 하며, 배열 요소는 index로 접근
  • 대표 속성(property)과 메서드(method)
  • 배열 크기 및 배열 여부 확인 : Array.length, Array.isArray()
  • 배열 추가/삭제 : Array.push(), Array.pop(), Array.shift(), Array.unshift(), Array.splice(), Array.slice()
  • 배열 탐색 : Array.indexOf(), Array.lastIndexOf(), Array.includes()
  • 배열 변형(callback 미사용) : Array.sort(), Array.reverse(), Array.join()
  • 배열 반복 : Array.sort(), Array.forEach(), Array.map(), Array.find(), Array.filter(), Array.reduce()
  • 배열 논리연산 : Array.some(), Array.every()


some

  • 배열 내 단 하나라도 콜백 함수의 조건을 만족하는 요소가 있다면 true, 아니면 false 반환 (빈 배열인 경우 fasle)
  • Array.some(function(item, index, array){})
  • item : 배열 요소 (value)
  • index : 배열 위치
  • array : 배열
  • Array.find()가 해당 객체 반환이라면 Array.some()은 true/false 반환


every

  • 배열 내 모든 요소가 콜백 함수의 조건을 만족한다면 true, 아니면 false 반환 (빈 배열인 경우 true)
  • Array.every(function(item, index, array){})
  • item : 배열 요소 (value)
  • index : 배열 위치
  • array : 배열


let users = [
  { name: "a", age: 17, job: false },
  { name: "b", age: 20, job: false },
  { name: "c", age: 27, job: true },
];

let some_job = users.some(function(user){
    return user.job === false
})

console.log(some_job) //true

let every_job = users.every(function(user){
    return user.job === false
})

console.log(every_job) //false

let some_age = users.some(function(user){
    return user.age > 16
})

console.log(some_age) //true

let every_age = users.every(function(user){
    return user.age > 16
})

console.log(every_age) //true

let some_empty = [].some((item) => item>16)
console.log(some_empty) //false

let every_empty = [].every((item) => item>16)
console.log(every_empty) //true