Как проверить, существует ли значение в массиве? - PullRequest
0 голосов
/ 29 мая 2018

Я хочу найти определенное значение в массиве.Например, у меня есть массив пользователей, я хочу проверить, присутствует ли конкретный пользователь в этом массиве.

Мой массив выглядит следующим образом:

Array(5)
0:{id: "empty", name: "Choose one..."}
1:{id: "option_1", name: "shilpa"}
2:{id: "option_2", name: "anita"}
3:{id: "option_3", name: "admin"}
4:{id: "option_4", name: "user"}
length:5
__proto__:Array(0)

Здесь я хочу проверить, существует ли пользователь "admin" в массиве?

Я пытался с помощью следующего, но этовозвращая результат как false:

console.log(this.observedByProperties.includes('admin'));

Может ли кто-нибудь предложить решение в этом?

Ответы [ 4 ]

0 голосов
/ 29 мая 2018

вы можете использовать функцию фильтра для массивов.

    let arr = [{id: "empty", name: "Choose one..."}, {id: "option_1", name: "shilpa"},{id: "option_2", name: "anita"},{id: "option_3", name: "admin"},{id: "option_4", name: "user"}];
this.findUser(arr,"Admin");

findUser(array, userName) {
    return array.filter(user => user.name === userName);
}
0 голосов
/ 29 мая 2018

Вам нужно использовать Array.find, чтобы проверить, существует ли объект с определенным значением,

var result = his.observedByProperties.find(t=>t.name ==='admin');
if(result){
 console.log('true');
}
0 голосов
/ 29 мая 2018

Вот generalized function, который принимает array и value как parameters и возвращает true или false

const arr = [{id: "option_1", name: "shilpa"},{id: "option_2", name: "anita"},{id: "option_3", name: "admin"},{id: "option_4", name: "user"}]

function containsValue(arr, x) {
    return arr.filter(function(elem) { return elem.name == x }).length > 0;
}
console.log(containsValue(arr, 'admin'))
0 голосов
/ 29 мая 2018

Вы можете использовать array#some для перебора массива, используя string#includes, проверяя, присутствует ли в слове admin.

const arr = [{id: "empty", name: "Choose one..."}, {id: "option_1", name: "shilpa"},{id: "option_2", name: "anita"},{id: "option_3", name: "admin"},{id: "option_4", name: "user"}],
  exist = arr.some(({name}) => name.includes('admin'));
console.log(exist);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...