javascript配列操作メモ

javascript配列操作メモ:

javascriptメモ

毎回ググるなら自分でメモっておけばいいじゃない


配列をある条件でフィルターする

filter メソッド(MSDN)

配列の1要素を引数にとり、真偽値を返すコールバックメソッドを引数で渡すことで、trueを返した要素のみで構成された配列を返却するメソッド。

以下の例だと、type=1のフルーツだけにフィルタする。

filter.js
    var ary = [ 
      { type: 1, name: 'りんご' }, 
      { type: 2, name: 'ぎゅうにく' }, 
      { type: 1, name: 'みかん' }, 
      { type: 3, name: 'きゃべつ' }, 
      { type: 1, name: 'どりあん' } 
    ] 
 
    var fruit = ary.filter((el) => { 
      return el.type === 1 
    }) 
 
    console.log(fruit) 


配列にある要素が存在するか判別する

some メソッド(MSDN)

配列の1要素を引数にとり、真偽値を返すコールバックメソッドを引数で渡すことで、trueを返す要素があるかどうかを真偽値で返却するメソッド。

配列の中でエラーフラグの立っているヤツはいるかな?とかを判定するのに使用するイメージ。

trueを返す要素があるとそこで探査が止まるので、ついでで全体に処理をしようとか考えてはいけない。

some.js
    var ary = [ 
      { type: 1, name: 'りんご' }, 
      { type: 2, name: 'ぎゅうにく' }, 
      { type: 1, name: 'みかん' }, 
      { type: 3, name: 'きゃべつ' }, 
      { type: 1, name: 'どりあん' } 
    ] 
 
    var isGyu = ary.some((el) => { 
      return el.name === 'ぎゅうにく' 
    }) 
 
    var isButa = ary.some((el) => { 
      return el.name === 'ぶたにく' 
    }) 
 
    console.log(isGyu)  // true 
    console.log(isButa) // false 


for each で処理する

forEach メソッド(MSDN)

配列の1要素を引数にとるコールバックメソッドを引数に渡すことで、配列の各要素にたいしてコールバックで処理をする。

他の言語でよくあるfor eachだと、配列やリストの一要素が変数に代入されてループ内のブロックで処理するけれど、それがメソッドになっているイメージ。この形式もよくあるというか最近のトレンド?

コールバックメソッドは引数を3こまで指定できる。先頭から、配列の要素、インデックス、元の配列が渡される。やろうと思えばコールバックメソッドで配列の要素数を増減できそうだけど、やらないほうが吉だと思う。

forEach.js
    var ary = [ 
      { type: 1, name: 'りんご' }, 
      { type: 2, name: 'ぎゅうにく' }, 
      { type: 1, name: 'みかん' }, 
      { type: 3, name: 'きゃべつ' }, 
      { type: 1, name: 'どりあん' }, 
    ] 
 
    ary.forEach((el) => { 
      el.name = el.name + ' おいしい' 
    }) 
 
    ary.forEach((el, index) => { 
      console.log(index + ':' + el.name) 
    }) 

コメント

このブログの人気の投稿

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-04-30 23:37:32 RSSフィード2021-04-30 23:00 分まとめ(42件)

投稿時間:2023-02-05 02:09:04 RSSフィード2023-02-05 02:00 分まとめ(9件)