Skip to content
Advertisement

How can i match a string with another string and return true for it?

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);
User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement