Array - filter, map, reduce, flat

7441 ワード

filter, some, any


パラメータとしてブール値
  • を返す関数を使用する.
  • arr.filter(predicate) -> Array
  • arr.some(predicate) -> boolean
  • arr.any(predicate) -> boolean
  • let array = [1,2,3,4,5]
    
    const isOdd = (el) => el%2===1
    
    
    // filtered = [1,3,5]  , 홀수인 숫자만 남기기
    let filtered = array.filter(isOdd) 
    
    // 홀수 하나라도 존재하는지 검사
    let hasOdd = array.some(isOdd)
    
    // 모든 수가 홀수인지(=짝수가 하나도 없음) 검사
    let noEven = array.every(isOdd) 

    map, reduce,flat

    
    let array = [1,2,3,4,5]
    
    // map
    let mappedArr = array.map((el,idx,array)=>{
     return el*idx 
    });  // mappedArr = [ 0, 2, 6, 12, 20 ]
    
    
    // reduce
    let tot = array.reduce((acc,cur,idx, array)=>acc+cur,0) // tot= 15
    
    
    // flat
    array = [1,2,3,[4,5],6]
    let flattedArr = array.flat() // flattedArr = [ 1, 2, 3, 4, 5, 6 ]
    array = arr = [1,2,3,[4,[5,6]]]
    array.flat() // [ 1, 2, 3, 4, [ 5, 6 ] ]
    array.flat(2) // [ 1, 2, 3, 4, 5, 6 ]
    
    // flatMap
    array = ["Hello World", "Good Bye"]
    array.flatMap(x=>x.split(' ')) // [ 'Hello', 'World', 'Good', 'Bye' ]