I am trying below code but its not working so first am trying to get a person department Name currently, hard coded it to check
var arr=[]
let CurrDept = "AB-CDE-F";
var Detept=CurrDept.substring(0,5);
arr.push(Detept)
Now in below line of code i am trying this line so it should exclude all results which start from AB-CD
var Userprofiledept=data.value[0].UserId.Department;
const isInArray = arr.indexOf(Userprofiledept) > -1;
isInArray
should be false which can be put in my condition but it always give true
Can anyone help ?
So current user department may be AB-CDE-F
and data i am getting from my rest call may have lots of department for many users AB-CDE-F,AB-CDE-F,AB-CDE,AB-CD,AB-C
so only want to exclude results which are AB-CDE-F,AB-CDE-F,AB-CDE,AB-CD
as they are starting with AB-CD
You could move the functionality into a function and check if the substring exists and add, if necessary.
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);
You can use Array.prototype.filter and 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);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.