技術

【javascript】連想配列から特定の条件で新しい配列を作成する

投稿日:

こんにちは

javascriptにはfilterという便利な関数があります。

例えば

 const arr = [
  {
    id: 1,
    name: '太郎',
    userCode: 1,
  },
  {
    id: 2,
    name: '花子',
    userCode: 2,
  },
  {
    id: 3,
    name: '太郎',
    userCode: 1,
  }
]

const arr2 = arr.filter(value => value.userCode === 1)
//[
//  { id: 1, name: '太郎', userCode: 1 },
//  { id: 3, name: '太郎', userCode: 1 }
//]
console.log(arr2)

みたいに特定の条件にあった要素で新しい配列を作成できます。
trueと評価すれば、新しい配列に代入され、falseだとスキップされます。

正規表現でも試してみましょう。
nameの頭文字が”J”の要素のオブジェクトだけで新しい配列を作成してみます。

 const arr = [
  {
    id: 1,
    name: 'Johnny',
    userCode: 1,
  },
  {
    id: 2,
    name: 'Jack',
    userCode: 2,
  },
  {
    id: 3,
    name: 'Bob',
    userCode: 1,
  }
]

const regex = RegExp('^J');

const arr2 = arr.filter(value => regex.test(value.name))
//[
//  { id: 1, name: 'Johnny', userCode: 1 },
//  { id: 2, name: 'Jack', userCode: 2 }
//]
console.log(arr2)

filter関数は便利なのでまだ使ったことのない人は
使ってみてくださいね!

-技術

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

git_logo

[Git] どのコミットでバグが入ったか原因究明する方法【git blame】

こんにちは。さとうです。 今回はgitを使って、どのコミットでバグが入ったか原因 …

no image

wordpressで固定ページが表示されない時は.htaccessを確認しよう

こんばんは 個人でwordpressサイトを持っているのですが いきなり固定ペー …

no image

[Rails] deviseのパスワード認証を半角英数字だけ許可する

こんばんは ログイン機能を作る時ってdeviseが便利ですよね。 ですが、デフォ …

[Ionic] ionic serveでの動作確認でファイルの変更が反映されない!

こんにちは。たなかです。 参画しているプロジェクトで散々苦しめられているIoni …

GooglePlayConsoleで「製品版として公開を開始」がグレーアウトして押せない!

こんにちは。田中です。 携わっていたアプリ開発案件ですが、ついに最初のリリースが …