Array.prototype.flatMap - garevna/js-course GitHub Wiki

🎓 Итерирующие методы массивов

entries()
every()
filter()
find()
findIndex()


🎓 flatMap()

⚠️ экспериментальная технология

Получим массив cookie с помощью следующего кода:

document.cookie = "name=user"
document.cookie = "token=Jd7-js15/84"
document.cookie = "inerest=javascript"

var cookie = document.cookie.split ( "; " )
массив cookie
▼ (3) ["name=user", "token=Jd7-js15/84", "inerest=javascript"]
  ► 0: "name=user"
  ► 1: "token=Jd7-js15/84"
  ► 2: "inerest=javascript"
    length: 3
  ► __proto__: Array(0)

Теперь применим метод map к массиву cookie

☕ map()
console.log (
    cookie.map (
        function ( item ) {
            return item.split ( "=" )
        }
    )
)
Результат в консоли:
▼ (3) [Array(2), Array(2), Array(2)]
  ► 0: (2) ["name", "user"]
  ► 1: (2) ["token", "Jd7-js15/84"]
  ► 2: (2) ["inerest", "javascript"]
    length: 3
  ► __proto__: Array(0)

Мы получили массив, элементы которого являются массивами

Теперь применим метод flatMap к массиву cookie

☕ flatMap()
console.log (
    cookie.flatMap (
        function ( item ) {
            return item.split ( "=" )
        }
    )
)
Результат в консоли:
▼ (6) ["name", "user", "token", "Jd7-js15/84", "inerest", "javascript"]
    0: "name"
    1: "user"
    2: "token"
    3: "Jd7-js15/84"
    4: "inerest"
    5: "javascript"
    length: 6
  ► __proto__: Array(0)

Мы получили "плоский" массив

Итак, используя одну и ту же функцию:

function ( item ) {
    return item.split ( "=" )
}

мы получили в первом случае массив массивов, а во втором - "плоский" массив


forEach()
keys()
map()
reduce()
reduceRight()
some()
sort()
values()

⚠️ **GitHub.com Fallback** ⚠️