web-dev-qa-db-fra.com

La fonction à plat de la matrice JavaScript ne définit pas dans React natif

J'écris une application basée sur react-native et nous savons que nous pouvons utiliser des codes JavaScript dans ce projet et dans tous les projets react.

Mais quand j'utilise le code ci-dessous, le retour du transpiler Erreur au simulateur:

const mixer = (...arg) => arg.flat(9);

L'erreur est la suivante: flat is not function

Pourquoi dans react-native il n'est pas défini mais dans le navigateur fonctionne bien?

8
user10516706

React Native utilise le moteur JavaScriptCore qui utilise le fichier ECMA-262 . La spécification montre clairement que .flat n'est pas pris en charge et n'est pas inclus dans la liste des transformations pour babel.

Écrivez-vous ou installez l'une des nombreuses cales disponibles sur npm.

1
Wainage

au lieu de arr.flat essayez d'utiliser cette fonction 

function flatten(arr) {
    return Array.prototype.concat(...arr);
}

flatten(arr)
0
Atishay Jain

Est-il supporté sur votre plate-forme? Array.prototype.flat

Link contient également des implémentations utilisant reduction et concat ainsi que non récursif.

0
JGoodgive