#underscore.js
#underscore.js
Вопрос:
Каждый раз передаю один объект json, но значения роли меняются, и мне нужно проверить его на основе роли, используя _.findWhere
объект, использующий одно значение, но я хочу проверить с двумя разными ролями в одном свойстве.
Сценарий 1
var people = [
{"name": "ram", "RoleID": "2"}
];
var roleObj = _.findWhere(people , { RoleID: "2", RoleID: "4"});
Сценарий 2
var people = [
{"name": "ram", "RoleID": "3"}
];
var roleObj = _.findWhere(people , { RoleID: "2", RoleID: "4"});
В сценарии 2 я не должен получать object why, потому что в параметре scound нет роли 3. не могли бы вы, пожалуйста, сказать, какой объект _.js я могу использовать или что мне нужно для изменения входного 2-го параметра
Примечание: этот вопрос относится к сценарию in
operator в sql server, где мы можем передавать несколько значений в одном столбце.
Комментарии:
1. Следует ли
RoleId
с помощьюrole
? Вы не можете сопоставить оба, используяfindWhere
, я добавлю ответ, который не нуждается в подчеркивании2. Извините, измененный вопрос по RoleId.
3. Я обновил свой ответ, чтобы охватить
RoleId
Ответ №1:
Вы можете сделать это без underscore
использования filter
. Просто отфильтруйте тех пользователей, чья роль не указана в списке указанных ролей:
var people = [{
"name": "ram",
"RoleId": "3"
}];
var peopleTwo = [{
"name": "ram",
"RoleId": "2"
}];
var getRoleFilterer = roles =>
people =>
people.filter(person => roles.indexOf(person.RoleId) > -1);
var roleFilterer = getRoleFilterer(["2", "4"]);
var results = roleFilterer(people);
var resultsTwo = roleFilterer(peopleTwo);
console.dir(results);
console.dir(resultsTwo);
Комментарии:
1. Потрясающее решение, но я ищу решение с помощью подчеркивания. разве это невозможно с ним?
2. @lucky почему вы хотите использовать подчеркивание, когда это возможно в vanilla js?
3. Это приложение разрабатывается с использованием asp.net используя только jquery, я ввел только undercorejs в этом приложении.
4. @lucky Конечно, но почему вы хотите использовать подчеркивание здесь? Вам не нужны никакие библиотеки для использования кода в моем фрагменте