Estoy intentando debajo del código pero no funciona, así que primero estoy tratando de obtener el nombre del departamento de una persona actualmente, codificarlo para verificar
var arr=[] let CurrDept = "AB-CDE-F"; var Detept=CurrDept.substring(0,5); arr.push(Detept) Ahora, en la siguiente línea de código, estoy probando esta línea, por lo que debería excluir todos los resultados que comienzan desde AB-CD
var Userprofiledept=data.value[0].UserId.Department; const isInArray = arr.indexOf(Userprofiledept) > -1; isInArray debe ser falso, lo que se puede poner en mi condición, pero siempre da verdadero
Alguien puede ayudar ?
Entonces, el departamento de usuario actual puede ser AB-CDE-F y los datos que obtengo de mi llamada de descanso pueden tener muchos departamentos para muchos usuarios AB-CDE-F,AB-CDE-F,AB-CDE,AB-CD,AB-C
por lo tanto, solo quiero excluir los resultados que son AB-CDE-F,AB-CDE-F,AB-CDE,AB-CD , ya que comienzan con AB-CD
Puede mover la funcionalidad a una función y verificar si la subcadena existe y agregarla, si es necesario.
const add = string => { string = string.slice(0, 5); if (array.includes(string)) return; array.push(string); } array = []; add('AB-CDE-F'); console.log(array); add('AB-CDE-F'); console.log(array); add('AB-CDE'); console.log(array);Puede usar Array.prototype.filter y String.prototype.startsWith .
const data = {value: [{ UserId: { ID: 14, Email: "sdfds", Department: "AB-CD-EF" } }, { UserId: { ID: 14, Email: "sdfds", Department: "AB-CD" } }, { UserId: { ID: 14, Email: "sdfds", Department: "AB-C" } }]}, discard = "AB-CD", res = data.value.filter((v) => !v.UserId.Department.startsWith(discard)); console.log(res);