Javascript Ember是否有类似Dojo的some()方法
Ember是否有类似Dojo的some()方法 我正在尝试运行以下代码Javascript Ember是否有类似Dojo的some()方法,javascript,ember.js,Javascript,Ember.js,Ember是否有类似Dojo的some()方法 我正在尝试运行以下代码 obj.view = someObj.forEach(function(tempArr){ return (tempArr.actionName == "view") ? true : false ; }); 但是由于forEach没有终止,因此代码不能正常工作 我想在第一次查找时退出(返回true),因此我想要类似于DojoJS的dojo.some()的内容 简单地说,我希望在第一个条件为true时,为变量中断并
obj.view = someObj.forEach(function(tempArr){
return (tempArr.actionName == "view") ? true : false ;
});
但是由于forEach没有终止,因此代码不能正常工作
我想在第一次查找时退出(返回true),因此我想要类似于DojoJS的dojo.some()的内容
简单地说,我希望在第一个条件为true时,为变量中断并返回true(否则为变量返回false)您可以使用,以获取第一个元素,或者如果您只需要使用true/false
obj.view = someArray.findBy('actionName', 'view');
// es6 shortened - carefull with implicit return statement
obj.view = someArray.find(item => item.get('actionName') === 'view');
obj.view = someArray.any(item => item.get('actionName') === 'view');
// es6 with () and {}
obj.view = someArray.find((item) => {
return item.get('actionName') === 'view';
});
// es5
obj.view = someArray.find(function(item){
return item.get('actionName') === 'view';
});
Thx很多…item=>item.get('actionName')是新语法吗?是的,它是新es6语法的一部分。我在答案中添加了es5。我还假设这将循环我的数组中的所有项(但直到找到第一个匹配项)…如果您只想知道数组中是否有任何元素具有
actionName===view
,而不关心哪个元素具有它,我只需要最终返回真/假值。您可以使用与使用find
相同的方法。