我创建了以下checkGrid
函数,它接受了一个计数,然后是另外两个参数。它是一个在selectOption调用中硬编码的解决方案,并且不是很灵活:
checkGrid = function(expectCount, typeParam, selectParam) {
it('Check', function () {
selectOption('examTypeSelect', typeParam).click();
selectOption('examStatusSelect', selectParam).click();
});
}
checkGrid(10, '*', '*');
现在我想使它更灵活,以便它接受任意数量的selectOption函数的参数。所以我想的是我可以这样称呼的东西。我需要的是checkGrid
函数调用selectOption
三次:
checkGrid(10, [{'examTypeSelect','*'}
{'examStatusSelect', '*'},
{'abcSelect','29'}]);
我怎样才能获取一个数组对象,该对象是checkGrid的第二个参数,并使其成为调用任意数量的
selectOption
函数取决于数组中有多少元素?
答案 0 :(得分:2)
在数组上使用循环,.apply
使用可变数量的参数调用每个函数。
checkGrid = function(expectCount, stuff) {
it('Check', function () {
for (var i = 0; i < stuff.length; ++i) {
selectOption.apply(this, stuff[i]).click();
}
});
}
你不会用你提出的语法(这是无效的)来调用它,但是喜欢
checkGrid(10, [
['examTypeSelect','*'],
['examStatusSelect', '*'],
['abcSelect','29','and','perhaps','more','parameters']
]
);
最后,我不清楚expectCount
应该做什么,但我把它留在那里是因为你原来的代码可能会用它来 。