MyDocs

# some/every/filter/map/flatMap/Object.entriesとか

some()

some() は配列内の要素 1 つでも条件に合致するものがあれば true を返し、 1 つも合致しなければ false を返す。

const dataList = [
  {id: 1, user: "user1"},
  {id: 2, user: "user2"},
  {id: 3, user: "user3"},
]

const includeId3 = dataList.some(data => data.id === 3)
console.log(includeId3) //true

ever()

every() は配列内の全ての要素が条件に合致するかを調べることができる。

const dataList = [
  {id: 1, user: "user1"},
  {id: 2, user: "user2"},
  {id: 3, user: "user3"},
]

const includeId3 = dataList.every(data => data.id === 3)
console.log(includeId3) //false

filter()

filter() は配列の要素から条件に合致する新しい配列を作成する。

const dataList = [
  { id: 1, user: "usr1"},
  { id: 10, user: "usr10"},
  { id: 20, user: "usr20"},
]

const over10List = dataList.filter(data => data.id >= 10)

console.log(over10List)
// [ { id: 10, user: 'usr10' }, { id: 20, user: 'usr20' } ]

map()

map() は処理して新しい配列を作成する。

const dataList = [
  { id: 1, user: "usr1"},
  { id: 10, user: "usr10"},
  { id: 20, user: "usr20"},
]

const over10List = dataList
                    .filter(data => data.id >= 10)
                    .map(data => data.user)

console.log(over10List)
// [ 'usr10', 'usr20' ]

flatMap()

flatMap() は配列の階層を解除し、別の配列に置き換える。

flatMap()map() の処理の後に flat() を実行する。

flat() は配列を 1 次元にするメソッド。

const dataList = [
  {
    user: "user1",
    tags: ["aaa", "bbb"]
  },
  {
    user: "user2",
    tags: ["ccc"]
  },
  {
    user: "user3",
    tags: ["ddd"]
  },
]

const tagList = dataList.flatMap(data => data.tags)

console.log(tagList)
// [ 'aaa', 'bbb', 'ccc', 'ddd' ]


const tagList2 = dataList.map(data => data.tags)

console.log(tagList2.flat())
// [ 'aaa', 'bbb', 'ccc', 'ddd' ]

Object.entries()

Object.entries( 対象のオブジェクト ) を実行すると [[key1, value1], [key2, value2]] が返る。

const obj = {
  id: 1,
  user: "user1",
  name: "name1"
}

console.log(Object.entries(obj))
// [ [ 'id', 1 ], [ 'user', 'user1' ], [ 'name', 'name1' ] ]

Object.entries(obj)
        .forEach(([key, value]) => {
          console.log(`Key: ${key}`)
          console.log(`Value: ${value}`)
        })
// Key: id
// Value: 1
// Key: user
// Value: user1
// Key: name
// Value: name1