こんにちは
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関数は便利なのでまだ使ったことのない人は
使ってみてくださいね!









