2011-03-11 73 views

回答

5

Ext JS的有Array.indexOf,這正是這麼做的不幸命名jQuery.inArray做同樣的事情:

if(values.indexOf(yourValue) !== -1) 
+4

請注意,這是特定於Ext 3的 - 在Ext 4中,Array原型不再進行修改,因此您應該使用Ext.Array.indexOf。 – 2012-01-06 17:03:28

2

Ext.js似乎沒有此功能。見http://docs.sencha.com/core/manual/

,如果你喜歡,你可以猴子修補這個在:

Ext.inArray = function(value, collection) { 
    return collection.indexOf(value) !== -1; 
}; 
+0

爲了澄清,分機*核心*沒有它,但Ext JS的(在標準庫)不支持它,如其他答案所示。此外,我相信jQuery.inArray,就像Array.indexOf,返回匹配的索引或-1,而不是像這個示例代碼一樣的布爾值(儘管名字肯定意味着它是一個布爾值,不幸的是)。 – 2012-01-06 17:08:54

0

您需要使用Ext.Array.indexOf方法:

Ext.Array.indexOf(Array array, Object item, [Number from]) : Number 

documentation

生成的代碼應該是這樣的:

if (Ext.Array.indexOf(checkbox.inputValue, values) >= 0)