Google News
logo
Underscore.js - Interview Questions
Explain some Comparing Objects in Underscore.js?
matcher _.matcher(attrs) Alias: matches
Returns a predicate function that will tell you if a passed in object contains all of the key/value properties present in attrs.
var ready = _.matcher({selected: true, visible: true});
var readyToGoList = _.filter(list, ready);
 
isEqual _.isEqual(object, other)
Performs an optimized deep comparison between the two objects, to determine if they should be considered equal.
var stooge = {name: 'moe', luckyNumbers: [13, 27, 34]};
var clone  = {name: 'moe', luckyNumbers: [13, 27, 34]};
stooge == clone;
=> false
_.isEqual(stooge, clone);
=> true
 
isMatch _.isMatch(object, properties)
Tells you if the keys and values in properties are contained in object.
var stooge = {name: 'moe', age: 32};
_.isMatch(stooge, {age: 32});
=> true
 
isEmpty _.isEmpty(collection)
Returns true if collection has no elements. For strings and array-like objects _.isEmpty checks if the length property is 0. For other objects, it returns true if the object has no enumerable own-properties. Note that primitive numbers, booleans and symbols are always empty by this definition.
_.isEmpty([1, 2, 3]);
=> false
_.isEmpty({});
=> true
 
isElement _.isElement(object)
Returns true if object is a DOM element.
_.isElement(jQuery('body')[0]);
=> true
​

 

isArray _.isArray(object)
Returns true if object is an Array.
(function(){ return _.isArray(arguments); })();
=> false
_.isArray([1,2,3]);
=> true
 
isObject _.isObject(value)
Returns true if value is an Object. Note that JavaScript arrays and functions are objects, while (normal) strings and numbers are not.
_.isObject({});
=> true
_.isObject(1);
=> false
 
isArguments _.isArguments(object)
Returns true if object is an Arguments object.
(function(){ return _.isArguments(arguments); })(1, 2, 3);
=> true
_.isArguments([1,2,3]);
=> false
 
isFunction _.isFunction(object)
Returns true if object is a Function.
_.isFunction(alert);
=> true
 
isString _.isString(object)
Returns true if object is a String.
_.isString("moe");
=> true
 
isNumber _.isNumber(object)
Returns true if object is a Number (including NaN).
_.isNumber(8.4 * 5);
=> true
 
isFinite _.isFinite(object)
Returns true if object is a finite Number.
_.isFinite(-101);
=> true

_.isFinite(-Infinity);
=> false
 
isBoolean _.isBoolean(object)
Returns true if object is either true or false.
_.isBoolean(null);
=> false
 
isDate _.isDate(object)
Returns true if object is a Date.
_.isDate(new Date());
=> true
 
isRegExp _.isRegExp(object)
Returns true if object is a RegExp.
_.isRegExp(/moe/);
=> true
 
isError _.isError(object)
Returns true if object inherits from an Error.
try {
  throw new TypeError("Example");
} catch (o_O) {
  _.isError(o_O);
}
=> true
 
isSymbol _.isSymbol(object)
Returns true if object is a Symbol.
_.isSymbol(Symbol());
=> true
 
isMap _.isMap(object)
Returns true if object is a Map.
_.isMap(new Map());
=> true
 
isWeakMap _.isWeakMap(object)
Returns true if object is a WeakMap.
_.isWeakMap(new WeakMap());
=> true
 
isSet _.isSet(object)
Returns true if object is a Set.
_.isSet(new Set());
=> true
 
isWeakSet _.isWeakSet(object)
Returns true if object is a WeakSet.
_.isWeakSet(WeakSet());
=> true
 
isArrayBuffer _.isArrayBuffer(object)
Returns true if object is an ArrayBuffer.
_.isArrayBuffer(new ArrayBuffer(8));
=> true
 
isDataView _.isDataView(object)
Returns true if object is a DataView.
_.isDataView(new DataView(new ArrayBuffer(8)));
=> true
 
isTypedArray _.isTypedArray(object)
Returns true if object is a TypedArray.
_.isTypedArray(new Int8Array(8));
=> true
 
isNaN _.isNaN(object)
Returns true if object is NaN.
   Note : this is not the same as the native isNaN function, which will also return true for many other not-number values, such as undefined.
_.isNaN(NaN);
=> true
isNaN(undefined);
=> true
_.isNaN(undefined);
=> false
 
isNull _.isNull(object)
Returns true if the value of object is null.
_.isNull(null);
=> true
_.isNull(undefined);
=> false
 
isUndefined _.isUndefined(value)
Returns true if value is undefined.
_.isUndefined(window.missingVariable);
=> true
Advertisement