Well this is my code where m matching a string with username passed and getting result from Api and updating a property isSelected to true if it gets matched but it is not returning true for the same
const userFilter = [{ userName: 'A Roy' }, { userName: 'John Doe' }]; const userName = 'JoHN Doe, A Roy'; userFilter.forEach(a => { console.log(a.userName.toLowerCase().includes(userName.toLowerCase())); });
Advertisement
Answer
Your logic is wrong. In your code, you’re checking whether the userName
of the array elements contain a string. Apparently, you want to check whether the string contains the userName
of the array elements:
const userFilter = [{ userName: 'A Roy' }, { userName: 'John Doe' }]; const userName = 'JoHN Doe, A Roy'; userFilter.forEach(a => { console.log(userName.toLowerCase().includes(a.userName.toLowerCase())); }); userFilter.forEach(a => { a.isSelected = userName.toLowerCase().includes(a.userName.toLowerCase()); a.name = a.userName; a.label = a.name; a.id = a.UserId; }); console.log(userFilter);