如何根据输入参数数组在函数内执行函数?

时间:2014-06-19 15:34:25

标签: javascript angularjs protractor

我有以下代码:

element(by.model('home.modal.data.version')).sendKeys('Version1');
element(by.model('home.modal.data.product')).sendKeys('Product1');
element(by.model('home.modal.data.audiences')).sendKeys('Audience1');

我想要做的是简化这个,以便我有一个功能来完成所有事情。我正在考虑一个可以采用输入参数的函数,如:

var inputData =  {
            [ 'home.modal.data.version' : 'Version1' ],
            [ 'home.modal.data.product' : 'Product1' ],
            [ 'home.modal.data.audiences' : 'Audience1' ]
            };

我不确定这是否是指定参数的好方法。

以及我可以调用的函数,例如:

enterData(inputData);

任何人都可以告诉我,如果我输入参数的方式是正确的,如果是这样,那么我怎样才能在函数内部循环这些参数调用元素函数?

1 个答案:

答案 0 :(得分:1)

我会使用稍微更具描述性的方式传递参数:

var inputData = [
    {model: 'home.modal.data.version', keys: 'Version1'},
    {model: 'home.modal.data.product', keys: 'Product1'},
    {model: 'home.modal.data.audiences', keys: 'Audience1'}
];

您的功能可以在其中使用这些:

function enterData(data) {
  for (var x = 0; x < data.length; x++) {
    element(by.model(data[x].model)).sendKeys(data[x].keys);
  }
}