JavaScript: как вернуть модифицированную функцию с циклом forEach или for?
У меня есть свойство name 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 ответ
Решение
Использование Array.prototype.map
:
harness.start({
group: 'UI Tests',
testClass: Siesta.Test.ListClass,
items: [
{
group: 'First Group',
items: ['Foo', 'Bar'].map(getSalesTest),
}
]
});