Bonfire: Where art thou

by Luis Valle

JavaScript

function where(collection, source) {
  var arr = []; 
  
  
  for (var i=0; i < collection.length; i++) {
  	var arrTrues = [];
  
    for(var keyz in source) {
      arrTrues.push(false);
    }
    
    for(var key in collection[i]) {
        var value = collection[i][key];
        
        var xIndex = 0;
        for(var keyx in source) {
            var valuex = source[keyx];
            if (key == keyx && value == valuex) {
            	arrTrues[xIndex] = true;
            }
            
            xIndex++;
        }
    }
    
    var myTrue = true;
    for (var j=0; j < arrTrues.length; j++) {
			if (arrTrues[j] == false) {
      	myTrue = false;
      }
    }
    
    if (myTrue == true) {
   		arr.push(collection[i]);
    }
  }
  alert(JSON.stringify(arr));
  }

where([{ "a": 1, "b": 2 }, { "a": 1 }, { "a": 1, "b": 2, "c": 2 }], { "a": 1, "b": 2 });