Estoy tratando de escribir una función para verificar si la matriz de objetos es un subconjunto de otra matriz de objetos y quiero que devuelva un valor booleano.
Esto es lo que tengo hasta ahora:
var arr1 = [ { answer: "dispersed", question: "where_is_your_flare_located" }, { answer: "continuous", question: "what_frequnecy_of_measurement_do_i_require_to_assess_methane_emissions" } ]; var arr2 = [ { question: 'where_is_your_flare_located', answer: 'dispersed' }, { question: 'what_frequnecy_of_measurement_do_i_require_to_assess_methane_emissions', answer: 'periodic' }, { question: 'how_long_is_the_flare_expected_to_be_in_operation', answer: 'n_a' }, { question: 'am_i_managing_an_existing_flare_or_planning_to_install_a_new_one', answer: 'n_a' }, { question: 'do_i_have_access_to_assistance_gases', answer: '' }, { question: 'do_i_have_access_to_purge_gas', answer: '' }, ]; var compare = arr2.filter(function(o) { var resultQuestion = o.question; var resultAnswer = o.question; return arr1.some(function(i) { var filterQuestion = i.question; var filterAnswer = i.question; return ((filterQuestion === resultQuestion) && (resultAnswer === filterAnswer)); }); }); console.log(compare)No entiendo que estoy haciendo mal. Agradeceré cualquier ayuda o explicación.
Este es simplemente un caso de ver si every elemento en arr1 existe en arr2
var arr1 = [ { answer: "dispersed", question: "where_is_your_flare_located" }, { answer: "continuous", question: "what_frequnecy_of_measurement_do_i_require_to_assess_methane_emissions" } // comment the above and uncomment below to return true //{ answer: "periodic", question: "what_frequnecy_of_measurement_do_i_require_to_assess_methane_emissions" } ]; var arr2 = [ { question: 'where_is_your_flare_located', answer: 'dispersed' }, { question: 'what_frequnecy_of_measurement_do_i_require_to_assess_methane_emissions', answer: 'periodic' }, { question: 'how_long_is_the_flare_expected_to_be_in_operation', answer: 'n_a' }, { question: 'am_i_managing_an_existing_flare_or_planning_to_install_a_new_one', answer: 'n_a' }, { question: 'do_i_have_access_to_assistance_gases', answer: '' }, { question: 'do_i_have_access_to_purge_gas', answer: '' }, ]; const isSubset = arr1.every(a1 => arr2.find(a2 => a1.answer == a2.answer && a1.question == a2.question)); console.log(isSubset);