我正在寻找如何将下划线_.findWhere转换为es6 native javascript?

_.findWhere($scope.template, {id: $scope.approveTemplate})

最佳答案

虽然Lim's answer非常适合您发布的特定示例,但此示例应处理_.findWhere的每个用例:

function myFindWhere(array, criteria) {
    return array.find(item => Object.keys(criteria).every(key => item[key] === criteria[key]))
}

它从输入数组中返回匹配条件的所有已定义属性的第一项(如果没有这样的项,则返回undefined),我相信这是_.findWhere的协定。

这是使用它来处理您的示例的方法:
myFindWhere($scope.template, {id: $scope.approveTemplate})

这是我用来测试的一些测试用例:

10-08 11:11