如何使用对象和数组调用函数并让它向对象添加属性?

时间:2014-07-07 09:50:35

标签: javascript

我有一个使用Selenium Web Driver的Javascript测试应用程序。在设置准备好测试的代码时,我总是使用类似于下面的代码来设置测试页面之前的属性。在这种情况下,它是主题页面,所以我有这个代码来设置一个主题对象,然后添加属性:

var topic = this;

topic.topicName = element(by.id('topicName'));
topic.topicVersion = element(by.id('topicVersion'));
.....
.....
topic.description = element(by.id('description'));
topic.topicHeader = element(by.id('topicHeader'));
topic.topicFooter = element(by.id('topicFooter'));

有没有办法可以简化此设置,以避免我必须多次调用element(by.id())。理想情况下,我想传入一个对象和一个不同字段的数组,并让一些代码执行element(by.id(并将属性添加到对象中?请注意,我想要的属性名称是与元素ID匹配的属性。

我将非常感谢有关如何做到这一点的一些提示。

1 个答案:

答案 0 :(得分:1)

你可以这样做:

['topicName', 'topicVersion', ...].forEach(function(k){
    topic[k] = element(by.id(k));
});