Javascript - метод flatMap над массивом - (flatMap не является функцией) - PullRequest
2 голосов
/ 05 апреля 2019

Согласно веб-сайту разработчика Mozilla:

The flatMap() method first maps each element using a mapping function, then flattens the result into a new array. It is identical to a map followed by a flat of depth 1, but flatMap is often quite useful, as merging both into one method is slightly more efficient.

Пример:

let arr = [1, 2, 4, 2, 3, 3, 4, 5, 5, 5, 8, 8, 9, 10];

const flatMap = arr.flatMap(x => x);
console.log(flatMap);

TypeError: arr.flatMap() is not a function

Почему это возвращает этоошибка?

РЕДАКТИРОВАТЬ

Я запускаю это через текстовый редактор Atom и использую HomeBrew, чтобы обновить его до последней версии, используя brew upgrade node, и он все еще дает мнета же ошибка.

Я тоже пробовал npm install n -g

Ответы [ 2 ]

2 голосов
/ 05 апреля 2019

Похоже, что flatMap не поддерживается в вашем браузере. Вот полный список поддерживаемых браузеров: https://caniuse.com/#search=flatMap

Если вы действительно хотите его использовать, то здесь вы являетесь полифиллом, который предоставит поддержку вплоть до ES3: https://www.npmjs.com/package/array.prototype.flatmap

Кстати, это полезно при применении к многомерному массиву!

1 голос
/ 05 апреля 2019

Это означает, что вы используете веб-браузер или другую среду разработки, которая не поддерживает Array.prototype.flatMap (в настоящее время Edge и IE не поддерживают). CanIUse стол здесь .

Также обратите внимание, что он используется в основном для многомерных массивов (чтобы избежать объединения map и flat, следовательно, flatMap).

...