src/jslinq.js
function equals(first, second){

		//If are the same instance, true
		if (first === second)
			return true;
			
		//If values are equals, return true
		if (first == second)
			return true;
			
		//If different type, false
		if (typeof first != typeof second)
			return false;
			
		//If are not objects, check value
		if (typeof first != "object")
			return first == second;
			
		//For each property on first
		for (var current in first){
		
			//Get property value from each element
			var firstValue = first[current];
			var secondValue = second[current];
			
			//If current is object, invoke "Equals" on each 
			//member of the object; otherwise just check values
			var isEqual = (typeof firstValue === 'object') ? equals(firstValue, secondValue) : firstValue == secondValue;
			
			//If not equals, exit
			if (!isEqual)
				return false;
		}
		
		//Confirm
		return true;	
	}
function equals(first, second){

		//If are the same instance, true
		if (first === second)
			return true;
			
		//If values are equals, return true
		if (first == second)
			return true;
			
		//If different type, false
		if (typeof first != typeof second)
			return false;
			
		//If are not objects, check value
		if (typeof first != "object")
			return first == second;
			
		//For each property on first
		for (var current in first){
		
			//Get property value from each element
			var firstValue = first[current];
			var secondValue = second[current];
			
			//If current is object, invoke "Equals" on each 
			//member of the object; otherwise just check values
			var isEqual = (typeof firstValue === 'object') ? equals(firstValue, secondValue) : firstValue == secondValue;
			
			//If not equals, exit
			if (!isEqual)
				return false;
		}
		
		//Confirm
		return true;	
	}
function equals ( first , second ) { //If are the same instance, true if ( first === second ) return true ; //If values are equals, return true if ( first == second ) return true ; //If different type, false if ( typeof first != typeof second ) return false ; //If are not objects, check value if ( typeof first != "object" ) return first == second ; //For each property on first for ( var current in first ) { //Get property value from each element var firstValue = first [ current ] ; var secondValue = second [ current ] ; //If current is object, invoke "Equals" on each  //member of the object; otherwise just check values var isEqual = ( typeof firstValue === 'object' ) ? equals ( firstValue , secondValue ) : firstValue == secondValue ; //If not equals, exit if ( ! isEqual ) return false ; } //Confirm return true ; }
Verify if first and second element are equals in values
Verify if first and second element are equals in values