Clear Up
SharpKit Reference

Object Class

A collection of useful static methods to deal with objects.

Namespace: Ext

Base Types

System.Object

Constructors

Methods

Name Description
chain(object) Returns a new object with the given object as the prototype chain.
each(object, Delegate, object) Iterates through an object and invokes the given callback function for each iteration. The iteration can be stopped 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
            }
            });
            
fromQueryString(JsString, object) 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']]
            }
            
getKey(object, object) 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(person, 'food')); // alerts 'loves'
            
getKeys(object) Gets all keys of the given object as an array.
var values = Ext.Object.getKeys({
            name: 'Jacky',
            loves: 'food'
            }); // ['name', 'loves']
            
getSize(object) Gets the total number of this object's own properties
var size = Ext.Object.getSize({
            name: 'Jacky',
            loves: 'food'
            }); // size equals 2
            
getValues(object) Gets all values of the given object as an array.
var values = Ext.Object.getValues({
            name: 'Jacky',
            loves: 'food'
            }); // ['Jacky', 'food']
            
merge(object, object) 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: 40000,
            location: 'Redwood City',
            isFun: true
            }
            }
            
toQueryObjects(JsString, object, object) Converts 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 },
            ];
            
toQueryString(object, object) 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
            
© Copyright 2005-2011 SharpKit. All rights reserved.