static/ext/src/Ext-more.js
function(arr, truth){
            var ret = [[],[]],
                a, v,
                aLen = arr.length;

            for (a = 0; a < aLen; a++) {
                v = arr[a];
                ret[ (truth && truth(v, a, arr)) || (!truth && v) ? 0 : 1].push(v);
            }

            return ret;
        }
function(arr, truth){
            var ret = [[],[]],
                a, v,
                aLen = arr.length;

            for (a = 0; a < aLen; a++) {
                v = arr[a];
                ret[ (truth && truth(v, a, arr)) || (!truth && v) ? 0 : 1].push(v);
            }

            return ret;
        }
Partitions the set into two sets: a true set and a false set.

Example 1:

Ext.partition([true, false, true, true, false]);
// returns [[true, true, true], [false, false]]

Example 2:

Ext.partition(
Ext.query("p"),
function(val){
return val.className == "class1"
}
);
// true are those paragraph elements with a className of "class1",
// false set are those that do not have that className.

@param {Array/NodeList} arr The array to partition
@param {Function} truth (optional) a function to determine truth.
If this is omitted the element itself must be able to be evaluated for its truthfulness.
@return {Array} [array of truish values, array of falsy values]
@deprecated 4.0.0 Will be removed in the next major version