Voici mon code d'origine:
const buildTableContent = (settings) => {
const entries = [];
for (const key in settings) {
for (const subkey in env[key]) {
settings
est essentiellement un dictionnaire de dictionnaire
{
'env': {'name': 'prod'},
'sass: {'app-id': 'a123445', 'app-key': 'xxyyzz'}
}
Il a déclenché l'erreur de guide de style AirBnb suivante:
Une erreur 35: 3 pour les boucles..in itère sur toute la chaîne du prototype, ce qui n'est pratiquement jamais ce que vous voulez. Utilisez Object. {Clés, valeurs, entrées} et parcourez le tableau résultant sans syntaxe non restreinte
Je change donc le code en
const buildTableContent = (settings) => {
const entries = [];
for (const key of Object.keys(settings)) {
for (const subkey of Object.keys(env[key])) {
comme suggéré.
Maintenant, quand je lance lint
, j'ai obtenu ceci:
Les itérateurs/générateurs d'erreur 35: 3 nécessitent un régénérateur exécuté, ce qui est trop lourd pour que ce guide le permette. Séparément, les boucles doivent être évitées au profit d'itérations de tableau sans syntaxe non restreinte
Donc, il me semble que dans tous les cas, ils violent un style de charpie.
Comment puis-je résoudre ce problème?
Vous voudriez utiliser
Object.keys(settings).forEach(key => {
Object.keys(env[key]).forEach(subkey => {
ou potentiellement Object.entries
ou Object.values
selon que vous voulez réellement les clés.