Para el objeto de matriz y las matrices,
devolver la matriz de objetos solo cuando
mismo valor y no tiene ningún modelo que coincida con arrayitem
mismo valor y tiene el mismo modelo, ya sea que coincida o no en arrayitem
volver [] cuando
arrayitem var arrayitem =["car", "bike"]; var arrobj1=[ {id:1, name: "xys", model:"car", value: 200}, {id:2, name: "abc", model:"bike", value: 200}, {id:3, name: "tex", model:"plane", value: 300}, ] Expected Output: // value same and model exists in arrays [] ***** var arrobj2=[ {id:1, name: "xys", model:"car", value: 200}, {id:2, name: "abc", model:"plane", value: 300}, {id:3, name: "tes", model:"plane", value: 300}, ] Expected Output: // both value and model same [ {id:2, name: "abc", model:"plane", value: 300}, {id:3, name: "tes", model:"plane", value: 300} ] *** var arrobj3=[ {id:1, name: "xys", model:"car", value: 200}, {id:2, name: "abc", model:"bike", value: 300}, {id:3, name: "tes", model:"plane", value: 300}, ] Expected Output //same value and alteast one matches the arrays [] Tried const resultarray = arrobj1 .map((obj, i) => { return arrobj1.find((element, index) => { if (i !== index && element.value === obj.value) { if(element.model !== obj.model && (!arrayitem.includes(element.model) && !arrayitem.includes(obj.model))){ return obj; } if(element.model === obj.model) { return obj; } } }) }) .filter(x => x); return resultarray;