JavaScript: 如何 return 使用 `forEach` 或 `for` 循环修改函数?
JavaScript: How to return a modified function with `forEach` or `for` loop?
我有一个 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
列表,它不会抛出任何问题但无法创建列表!
我还需要在 getFirstTest
函数上设置几个 parameters
:
例如: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);
// });
}
我在这里缺少什么以及如何实现第二次实施?
提前致谢!
使用Array.prototype.map
:
harness.start({
group: 'UI Tests',
testClass: Siesta.Test.ListClass,
items: [
{
group: 'First Group',
items: ['Foo', 'Bar'].map(getSalesTest),
}
]
});
我有一个 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
列表,它不会抛出任何问题但无法创建列表!
我还需要在 getFirstTest
函数上设置几个 parameters
:
例如: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);
// });
}
我在这里缺少什么以及如何实现第二次实施? 提前致谢!
使用Array.prototype.map
:
harness.start({
group: 'UI Tests',
testClass: Siesta.Test.ListClass,
items: [
{
group: 'First Group',
items: ['Foo', 'Bar'].map(getSalesTest),
}
]
});