我正在尝试返回按钮集合中按钮的索引值。我花了很多时间来检查闭包,但由于这是量角器,一些信息似乎没有排成一行。这是我到目前为止的地方:
我收集了arrayElement中的按钮列表 - [button1,button2,button3]。 我有一个目标元素......即button2
如果我要查找的按钮与我的目标元素匹配,我想要索引。
以下是我的代码:
"echo"
答案 0 :(得分:1)
如果您确实需要索引,可以使用map()
解决问题:
function getIndex () {
return components.map(function (component, compIndex) {
return {
text: component.getText(),
index: compIndex
};
}).then(function (results) {
for (var i = 0; i < results.length; i++) {
if (results[i].text === targetComponent) {
return results[i].index;
}
}
});
}
但是,如果您需要按文字过滤掉实际按钮,那么filter()
就是一个很好的用例:
function getButton(targetComponent) {
return components.filter(function (component) {
return component.getText().then(function (text) {
return targetComponent === text;
});
}).first();
}