Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ember是否有类似Dojo的some()方法_Javascript_Ember.js - Fatal编程技术网

Javascript 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时,为变量中断并

Ember是否有类似Dojo的some()方法

我正在尝试运行以下代码

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
相同的方法。