For up to date documentation and features, visit http://docs.sencha.com/ext-js/4-0

## Sencha Documentation

# Ext.Object

A collection of useful static methods to deal with objects

Defined By

### Properties

Ext.Object
view source
getKeys : Object
Gets all keys of the given object as an array. var values = Ext.Object.getKeys({ name: 'Jacky', loves: 'food...

Gets all keys of the given object as an array.

    var values = Ext.Object.getKeys({
        name: 'Jacky',
        loves: 'food'
    }); // ['name', 'loves']

Defined By

### Methods

Ext.Object
view source
each( Object object, Function fn, Object scope) : void
Iterate through an object and invoke the given callback function for each iteration. The iteration can be stop by ret...

Iterate through an object and invoke the given callback function for each iteration. The iteration can be stop by returning `false` in the callback function. For example:

    var person = {
        name: 'Jacky'
        hairColor: 'black'
        loves: ['food', 'sleeping', 'wife']
    };

    Ext.Object.each(person, function(key, value, myself) {
        console.log(key + ":" + value);

        if (key === 'hairColor') {
            return false; // stop the iteration
        }
    });

### Parameters

- object : Object

  The object to iterate

- fn : Function

  The callback function. Passed arguments for each iteration are:

  - {String} `key`
  - {Mixed} `value`
  - {Object} `object` The object itself
- scope : Object

  (Optional) The execution scope (`this`) of the callback function

### Returns

- void

Ext.Object
view source
fromQueryString( String queryString, Boolean recursive) : Object
Converts a query string back into an object. Non-recursive: Ext.Object.fromQueryString(foo=1&bar=2); // retu...

Converts a query string back into an object.

- Non-recursive:

  Ext.Object.fromQueryString(foo=1&bar=2); // returns {foo: 1, bar: 2} Ext.Object.fromQueryString(foo=&bar=2); // returns {foo: null, bar: 2} Ext.Object.fromQueryString(some%20price=%24300); // returns {'some price': '$300'} Ext.Object.fromQueryString(colors=red&colors=green&colors=blue); // returns {colors: ['red', 'green', 'blue']}

- Recursive:

  Ext.Object.fromQueryString("username=Jacky&dateOfBirth[day]=1&dateOfBirth[month]=2&dateOfBirth[year]=1911&hobbies[0]=coding&hobbies[1]=eating&hobbies[2]=sleeping&hobbies[3][0]=nested&hobbies[3][1]=stuff", true);

  // returns {

        username: 'Jacky',
        dateOfBirth: {
            day: '1',
            month: '2',
            year: '1911'
        },
        hobbies: ['coding', 'eating', 'sleeping', ['nested', 'stuff']]

  }

### Parameters

- queryString : String

  The query string to decode

- recursive : Boolean

  (Optional) Whether or not to recursively decode the string. This format is supported by PHP / Ruby on Rails servers and similar. Defaults to false

### Returns

- Object

Ext.Object
view source
getKey( Object object, Object value) : void
Returns the first matching key corresponding to the given value. If no matching value is found, null is returned. va...

Returns the first matching key corresponding to the given value. If no matching value is found, null is returned.

    var person = {
        name: 'Jacky',
        loves: 'food'
    };

    alert(Ext.Object.getKey(sencha, 'loves')); // alerts 'food'

### Parameters

- object : Object
- value : Object

  The value to find

### Returns

- void

Ext.Object
view source
getSize( Object object) : Number
Gets the total number of this object's own properties var size = Ext.Object.getSize({ name: 'Jacky', loves: ...

Gets the total number of this object's own properties

    var size = Ext.Object.getSize({
        name: 'Jacky',
        loves: 'food'
    }); // size equals 2

### Parameters

- object : Object

### Returns

- Number

  size

Ext.Object
view source
getValues( Object object) : Array
Gets all values of the given object as an array. var values = Ext.Object.getValues({ name: 'Jacky', loves: '...

Gets all values of the given object as an array.

    var values = Ext.Object.getValues({
        name: 'Jacky',
        loves: 'food'
    }); // ['Jacky', 'food']

### Parameters

- object : Object

### Returns

- Array

  An array of values from the object

Ext.Object
view source
merge( Object object, Object key, Object value) : Object
Merges any number of objects recursively without referencing them or their children. var extjs = { companyName: ...

Merges any number of objects recursively without referencing them or their children.

    var extjs = {
        companyName: 'Ext JS',
        products: ['Ext JS', 'Ext GWT', 'Ext Designer'],
        isSuperCool: true
        office: {
            size: 2000,
            location: 'Palo Alto',
            isFun: true
        }
    };

    var newStuff = {
        companyName: 'Sencha Inc.',
        products: ['Ext JS', 'Ext GWT', 'Ext Designer', 'Sencha Touch', 'Sencha Animator'],
        office: {
            size: 40000,
            location: 'Redwood City'
        }
    };

    var sencha = Ext.Object.merge(extjs, newStuff);

    // extjs and sencha then equals to
    {
        companyName: 'Sencha Inc.',
        products: ['Ext JS', 'Ext GWT', 'Ext Designer', 'Sencha Touch', 'Sencha Animator'],
        isSuperCool: true
        office: {
            size: 30000,
            location: 'Redwood City'
            isFun: true
        }
    }

### Parameters

- object : Object

  ,...

- key : Object
- value : Object

### Returns

- Object

  merged The object that is created as a result of merging all the objects passed in.

Ext.Object
view source
toQueryObjects( String name, Mixed value, Boolean recursive) : void
Convert a name - value pair to an array of objects with support for nested structures; useful to construct query stri...

Convert a `name` - `value` pair to an array of objects with support for nested structures; useful to construct query strings. For example:

    var objects = Ext.Object.toQueryObjects('hobbies', ['reading', 'cooking', 'swimming']);

    // objects then equals:
    [
        { name: 'hobbies', value: 'reading' },
        { name: 'hobbies', value: 'cooking' },
        { name: 'hobbies', value: 'swimming' },
    ];

    var objects = Ext.Object.toQueryObjects('dateOfBirth', {
        day: 3,
        month: 8,
        year: 1987,
        extra: {
            hour: 4
            minute: 30
        }
    }, true); // Recursive

    // objects then equals:
    [
        { name: 'dateOfBirth[day]', value: 3 },
        { name: 'dateOfBirth[month]', value: 8 },
        { name: 'dateOfBirth[year]', value: 1987 },
        { name: 'dateOfBirth[extra][hour]', value: 4 },
        { name: 'dateOfBirth[extra][minute]', value: 30 },
    ];

### Parameters

- name : String
- value : Mixed
- recursive : Boolean

### Returns

- void

Ext.Object
view source
toQueryString( Object object, [Boolean recursive]) : String
Takes an object and converts it to an encoded query string Non-recursive: Ext.Object.toQueryString({foo: 1, bar:...

Takes an object and converts it to an encoded query string

- Non-recursive:

  Ext.Object.toQueryString({foo: 1, bar: 2}); // returns "foo=1&bar=2" Ext.Object.toQueryString({foo: null, bar: 2}); // returns "foo=&bar=2" Ext.Object.toQueryString({'some price': '$300'}); // returns "some%20price=%24300" Ext.Object.toQueryString({date: new Date(2011, 0, 1)}); // returns "date=%222011-01-01T00%3A00%3A00%22" Ext.Object.toQueryString({colors: ['red', 'green', 'blue']}); // returns "colors=red&colors=green&colors=blue"

- Recursive:

  Ext.Object.toQueryString({

        username: 'Jacky',
        dateOfBirth: {
            day: 1,
            month: 2,
            year: 1911
        },
        hobbies: ['coding', 'eating', 'sleeping', ['nested', 'stuff']]

  }, true); // returns the following string (broken down and url-decoded for ease of reading purpose):

              // username=Jacky
              //    &dateOfBirth[day]=1&dateOfBirth[month]=2&dateOfBirth[year]=1911
              //    &hobbies[0]=coding&hobbies[1]=eating&hobbies[2]=sleeping&hobbies[3][0]=nested&hobbies[3][1]=stuff

### Parameters

- object : Object

  The object to encode

- recursive : Boolean

  (optional) Whether or not to interpret the object in recursive format. (PHP / Ruby on Rails servers and similar). Defaults to false

### Returns

- String

  queryString