JS突破功能

时间:2016-11-06 13:46:07

标签: javascript ecmascript-6

我有一个看起来像这样的方法:

return AddedSoftware (software) {
    this.softwares.map(function(soft) {
        if(soft.id == software) {
            return software.name;
        }
    })
}

那么当soft.id == software现在它在返回之前循环遍历整个softwares时,我怎么能打破并返回呢?

1 个答案:

答案 0 :(得分:6)

您可以使用find()代替

return function AddedSoftware (software) {
    let res = this.softwares.find(soft => soft.id == software);
    // return the software's name if there's a match, or undefined
    return res ? res.name : res;
}

这将为您提供符合条件的第一个对象。然后,您可以从该对象获取software.name

摘自文档:

  

find()方法返回数组中第一个满足提供的测试函数的元素的值。否则返回undefined。