我正在寻找如何将下划线_.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})
这是我用来测试的一些测试用例: