JavaScript: Как вернуть модифицированную функцию с циклом forEach или for? - PullRequest
0 голосов
/ 28 августа 2018

У меня есть имя свойства items:, которое ожидает список array. Обычная и работающая реализация этого блока кода ниже;

// This usage works perfectly with `getFirstTest()` function
// And creates a list of Array fine!
harness.start(
    {
        group: 'UI Tests',
        testClass: Siesta.Test.ListClass,
        items: [
            {
              group: 'First Group',
              items: [
                  getFirstTest('Foo'),
                  getFirstTest('Bar'),
                  getFirstTest('Alpha'),
                  getFirstTest('Beta'),
                  getFirstTest('Zet')
              ]
            }
        ]
    }
);

но, как вы заметили, существует много итеративных операторов, и поэтому я попытался использовать циклы forEach и for, чтобы объявить функцию getFirstTest() как динамическую, но я не могу отобразить список array, как указано выше. , это не проблема, но не может создать список!

Также мне нужно установить несколько функций parameters на getFirstTest:

например: getFirstTest('Foo', 'SecondParam')

harness.start(
    {
        group: 'UI Tests',
        testClass: Siesta.Test.ListClass,
        items: [
            {
              group: 'First Group',
              items: this.firstGrpSubmodules
            }
        ]
    }
);

function firstGrpSubmodules () {
    let implementedCases = [
        'Foo', 'Bar', 'Alpha', 'Beta', 'Zet'
    ];

    // I've tried several ways to achive but couldn't
    // Usage 1: The for loop
    // for (let i=0; i<implementedCases.length; i++) {
    //       let submodules = implementedCases[i];
    //
    //       getFirstTest(submodules);
    // }

    // Usage 2: forEach
    // implementedCases.forEach(function(submodule) {
    //     getFirstTest(submodule);
    // });
}

Чего мне здесь не хватает и как я могу достичь второй реализации? Заранее спасибо!

1 Ответ

0 голосов
/ 28 августа 2018

Использование Array.prototype.map:

harness.start({
  group: 'UI Tests',
  testClass: Siesta.Test.ListClass,
  items: [
    {
      group: 'First Group',
      items: ['Foo', 'Bar'].map(getSalesTest),
    }
  ]
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...