El tipo de retorno debe ser una matriz.
findMatches( [ {"X" : "1", "Y" : "2","Z" : "4", "P" : "5"}, {"X" : "2", "Y" : "2","Z" : "4", "P" : "5"}, {"X" : "1", "Y" : "2","Z" : "9", "P" : "6"} ], {"X":"1", "Y":"2"} );debería volver
[ {"X" : "1", "Y" : "2","Z" : "4", "P" : "5"}, {"X" : "1", "Y" : "2","Z" : "9", "P" : "6"} ]La respuesta debe ser válida para cualquier entrada dada.
function findMatches(arr ,obj) { return []; } findMatches( [ {"X" : "1", "Y" : "2","Z" : "4", "P" : "5"}, {"X" : "2", "Y" : "2","Z" : "4", "P" : "5"}, {"X" : "1", "Y" : "2","Z" : "9", "P" : "6"} ], {"X":"1", "Y":"2"} );Simplemente puede lograrlo usando el método Array.filter() .
demostración:
const arr = [ {"X" : "1", "Y" : "2","Z" : "4", "P" : "5"}, {"X" : "2", "Y" : "2","Z" : "4", "P" : "5"}, {"X" : "1", "Y" : "2","Z" : "9", "P" : "6"} ]; const obj = {"X":"1", "Y":"2"}; function findMatches(arr, obj) { return arr.filter((arrayObj) => (arrayObj.X === obj.X) && (arrayObj.Y === obj.Y)); } const res = findMatches(arr, obj); console.log(res);