![](/img/trans.png)
[英]how can you make an array save as a new object each time a function is executed and not overwrite my old array
[英]How can I make an array of object in my function parameter call a function for each object?
我创建了以下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
函数?
通过在数组上循环并使用.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
应该做些什么,但是我把它留在那里了,因为您的原始代码大概可以对它做些什么 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.