2014-11-21 4 views
3

В ExtJS, используя Ext.Array (после использования Ext.Array.difference), я получаю результирующий массив и хотел бы знать, как лучше всего проверить, пуст ли массив?ExtJs - лучший способ проверить, нет ли Ext.Array?

Я использовал theArray.length как можно было бы сделать в javascript, но мне интересно, есть ли лучший способ/быстрее достичь этого? (Сначала я думал, что isEmpty бы помочь, но это, кажется, работает на объекте, а не массив)

+1

'Ext.isEmpty' обрабатывает пустые массивы,' Ext.isEmpty ([]) ''> true' – pllee

ответ

2

Вы можете легко добавить это в массиве прототип, как это:

Array.prototype.isEmpty = function(){ 
    return !this.length; 
}; 
var a = ['a','b','c','d']; 
var b = ['b','d','f','h']; 
var c = Ext.Array.difference(a,b); 
var d = []; 
console.log(c.isEmpty(), d.isEmpty()); 

Надеется, что это помогает :)

+0

Спасибо! Это хорошо знать. (не могу проголосовать за ваш ответ, но я бы хотел, если бы смог) –

+1

Я бы рекомендовал не делать этого, потому что создание методов прототипов собственных объектов сложнее в обслуживании и затрудняет игру с другими библиотеками. – pllee

+0

Он мог бы добавить его в класс Ext.Array, выполняющий 'Ext.apply (Ext.Array, {isEmpty: function (array) {return! Array.length;}});' и используя его как 'Ext.Array.isEmpty (c); 'но я думаю, что для большинства проектов, добавляющих простой метод к прототипу Array, это не повредит;) –

Смежные вопросы