- Source: src/utils/object/index.js (Line 7)
Methods
-
<static> Clone(obj)
-
Shallow Object Clone. Will not clone nested objects.
Parameters:
Name Type Description objobject The object to clone.
- Since: 3.0.0
- Source: src/utils/object/Clone.js (Line 7)
Returns:
A new object with the same properties as the input object.
- Type
- object
-
<static> DeepCopy(obj)
-
Deep Copy the given object or array.
Parameters:
Name Type Description objobject The object to deep copy.
- Since: 3.50.0
- Source: src/utils/object/DeepCopy.js (Line 7)
Returns:
A deep copy of the original object.
- Type
- object
-
<static> Extend( [args])
-
This is a slightly modified version of http://api.jquery.com/jQuery.extend/
Parameters:
Name Type Argument Description args* <optional>
<repeatable>
The objects that will be mixed.
- Since: 3.0.0
- Source: src/utils/object/Extend.js (Line 13)
Returns:
The extended object.
- Type
- object
-
<static> GetAdvancedValue(source, key, defaultValue)
-
Retrieves a value from an object. Allows for more advanced selection options, including:
Allowed types:
Implicit { x: 4 }
From function { x: function () }
Randomly pick one element from the array { x: [a, b, c, d, e, f] }
Random integer between min and max: { x: { randInt: [min, max] } }
Random float between min and max: { x: { randFloat: [min, max] } }
Parameters:
Name Type Description sourceobject The object to retrieve the value from.
keystring The name of the property to retrieve from the object. If a property is nested, the names of its preceding properties should be separated by a dot (
.) -banner.hideBannerwould return the value of thehideBannerproperty from the object stored in thebannerproperty of thesourceobject.defaultValue* The value to return if the
keyisn't found in thesourceobject.- Since: 3.0.0
- Source: src/utils/object/GetAdvancedValue.js (Line 10)
Returns:
The value of the requested key.
- Type
- *
-
<static> GetFastValue(source, key [, defaultValue])
-
Finds the key within the top level of the source object, or returns defaultValue
Parameters:
Name Type Argument Description sourceobject The object to search
keystring The key for the property on source. Must exist at the top level of the source object (no periods)
defaultValue* <optional>
The default value to use if the key does not exist.
- Since: 3.0.0
- Source: src/utils/object/GetFastValue.js (Line 7)
Returns:
The value if found; otherwise, defaultValue (null if none provided)
- Type
- *
-
<static> GetMinMaxValue(source, key, min, max, defaultValue)
-
Retrieves and clamps a numerical value from an object.
Parameters:
Name Type Description sourceobject The object to retrieve the value from.
keystring The name of the property to retrieve from the object. If a property is nested, the names of its preceding properties should be separated by a dot (
.).minnumber The minimum value which can be returned.
maxnumber The maximum value which can be returned.
defaultValuenumber The value to return if the property doesn't exist. It's also constrained to the given bounds.
- Since: 3.0.0
- Source: src/utils/object/GetMinMaxValue.js (Line 10)
Returns:
The clamped value from the
sourceobject.- Type
- number
-
<static> GetValue(source, key, defaultValue)
-
Retrieves a value from an object.
Parameters:
Name Type Description sourceobject The object to retrieve the value from.
keystring The name of the property to retrieve from the object. If a property is nested, the names of its preceding properties should be separated by a dot (
.) -banner.hideBannerwould return the value of thehideBannerproperty from the object stored in thebannerproperty of thesourceobject.defaultValue* The value to return if the
keyisn't found in thesourceobject.- Since: 3.0.0
- Source: src/utils/object/GetValue.js (Line 11)
Returns:
The value of the requested key.
- Type
- *
-
<static> HasAll(source, keys)
-
Verifies that an object contains all requested keys
Parameters:
Name Type Description sourceobject an object on which to check for key existence
keysArray.<string> an array of keys to ensure the source object contains
- Since: 3.0.0
- Source: src/utils/object/HasAll.js (Line 7)
Returns:
true if the source object contains all keys, false otherwise.
- Type
- boolean
-
<static> HasAny(source, keys)
-
Verifies that an object contains at least one of the requested keys
Parameters:
Name Type Description sourceobject an object on which to check for key existence
keysArray.<string> an array of keys to search the object for
- Since: 3.0.0
- Source: src/utils/object/HasAny.js (Line 7)
Returns:
true if the source object contains at least one of the keys, false otherwise
- Type
- boolean
-
<static> HasValue(source, key)
-
Determine whether the source object has a property with the specified key.
Parameters:
Name Type Description sourceobject The source object to be checked.
keystring The property to check for within the object
- Since: 3.0.0
- Source: src/utils/object/HasValue.js (Line 7)
Returns:
trueif the providedkeyexists on thesourceobject, otherwisefalse.- Type
- boolean
-
<static> IsPlainObject(obj)
-
This is a slightly modified version of jQuery.isPlainObject. A plain object is an object whose internal class property is [object Object].
Parameters:
Name Type Description objobject The object to inspect.
- Since: 3.0.0
- Source: src/utils/object/IsPlainObject.js (Line 7)
Returns:
trueif the object is plain, otherwisefalse.- Type
- boolean
-
<static> Merge(obj1, obj2)
-
Creates a new Object using all values from obj1 and obj2. If a value exists in both obj1 and obj2, the value in obj1 is used.
This is only a shallow copy. Deeply nested objects are not cloned, so be sure to only use this function on shallow objects.
Parameters:
Name Type Description obj1object The first object.
obj2object The second object.
- Since: 3.0.0
- Source: src/utils/object/Merge.js (Line 9)
Returns:
A new object containing the union of obj1's and obj2's properties.
- Type
- object
-
<static> MergeRight(obj1, obj2)
-
Creates a new Object using all values from obj1.
Then scans obj2. If a property is found in obj2 that also exists in obj1, the value from obj2 is used, otherwise the property is skipped.
Parameters:
Name Type Description obj1object The first object to merge.
obj2object The second object to merge. Keys from this object which also exist in
obj1will be copied toobj1.- Since: 3.0.0
- Source: src/utils/object/MergeRight.js (Line 9)
Returns:
The merged object.
obj1andobj2are not modified.- Type
- object
-
<static> Pick(object, keys)
-
Returns a new object that only contains the
keysthat were found on the object provided. If nokeysare found, an empty object is returned.Parameters:
Name Type Description objectobject The object to pick the provided keys from.
keysarray An array of properties to retrieve from the provided object.
- Since: 3.18.0
- Source: src/utils/object/Pick.js (Line 9)
Returns:
A new object that only contains the
keysthat were found on the provided object. If nokeyswere found, an empty object will be returned.- Type
- object
-
<static> SetValue(source, key, value)
-
Sets a value in an object, allowing for dot notation to control the depth of the property.
For example:
var data = { world: { position: { x: 200, y: 100 } } }; SetValue(data, 'world.position.y', 300); console.log(data.world.position.y); // 300Parameters:
Name Type Description sourceobject The object to set the value in.
keystring The name of the property in the object. If a property is nested, the names of its preceding properties should be separated by a dot (
.)valueany The value to set into the property, if found in the source object.
- Since: 3.17.0
- Source: src/utils/object/SetValue.js (Line 7)
Returns:
trueif the property key was valid and the value was set, otherwisefalse.- Type
- boolean
