Tengo una matriz de objetos, un objeto y una lista de matrices.
Tengo que obtener la matriz de objetos según las condiciones usando javascript:
Obtenga la matriz de objetos si la propiedad del value coincide con el item objeto
Verifique si el valor del code existe en la lista de arreglos lista de arraylist , si existe, devuelva el objeto de la matriz
De lo contrario regresa vacío
var arrobj1 =[ {id:1, name: zen, code: "SP", value: 100}, {id:2, name: abi, code: "IN", value: 200}, {id:3, name: lisa, code: "SG", value: 200} ] var arraylist =["IN"] var obj1={ id:34, code: "SP", country: "mexico", item: 200 }Rendimiento esperado:
// el valor y el elemento coinciden, el código no existe, por lo que está vacío []
var arrobj2 =[ {id:1, name: zen, code: "SP", value: 300}, {id:2, name: abi, code: "SP", value: 200}, {id:3, name: lisa, code: "SG", value: 100} ] var arraylist =["IN"] var obj2={ id:34, code: "SP", country: "italy", item: 100 }Rendimiento esperado
// coincidencias de valor y elemento, coincidencias de código
[ {id:3, name: lisa, code: "SG", value: 100} ]He intentado usar el siguiente código:
var result = arrobj1.some(e => { if (e.value === obj.item && (arraylist.includes(e.code)){ return true; } return false; });Primero filter elementos, luego use some .
let filtered = arrobj1.filter(({value}) => value == obj1.item) let result = filtered.some(({code}) => arraylist.includes(code)) ? [] : filtered