extjs是否包含等價於inArray的方法?我檢查了API但沒有發現任何東西!將jquery inArray轉換爲extjs相當於
這裏是亟待轉換jQuery的片段:
if ($.inArray(checkbox.inputValue, values) >= 0)
其中值是數組。
謝謝,
extjs是否包含等價於inArray的方法?我檢查了API但沒有發現任何東西!將jquery inArray轉換爲extjs相當於
這裏是亟待轉換jQuery的片段:
if ($.inArray(checkbox.inputValue, values) >= 0)
其中值是數組。
謝謝,
Ext JS的有Array.indexOf,這正是這麼做的不幸命名jQuery.inArray做同樣的事情:
if(values.indexOf(yourValue) !== -1)
Ext.js似乎沒有此功能。見http://docs.sencha.com/core/manual/
,如果你喜歡,你可以猴子修補這個在:
Ext.inArray = function(value, collection) {
return collection.indexOf(value) !== -1;
};
爲了澄清,分機*核心*沒有它,但Ext JS的(在標準庫)不支持它,如其他答案所示。此外,我相信jQuery.inArray,就像Array.indexOf,返回匹配的索引或-1,而不是像這個示例代碼一樣的布爾值(儘管名字肯定意味着它是一個布爾值,不幸的是)。 – 2012-01-06 17:08:54
您需要使用Ext.Array.indexOf
方法:
Ext.Array.indexOf(Array array, Object item, [Number from]) : Number
生成的代碼應該是這樣的:
if (Ext.Array.indexOf(checkbox.inputValue, values) >= 0)
ExtJS的4具有Array.contains方法:
Ext.Array.contains(MyArray, MyString); // returns bool
請注意,這是特定於Ext 3的 - 在Ext 4中,Array原型不再進行修改,因此您應該使用Ext.Array.indexOf。 – 2012-01-06 17:03:28