Ich habe den unten stehenden Javascript 'Unterstrich' Code, der prüft, ob der angegebene USER_ROLES mindestens einen VALID_ROLES hat. Wenn dies der Fall ist, wird wahr oder falsch zurückgegeben. Es funktioniert gut.Wie überprüfe ich ein Javascript-Array, das mindestens einen Wert enthält, der mit einem bestimmten Text beginnt (zB ROLE_)
Aber ich möchte es so umgestalten, dass ich die fest codierten Rollen VALID_ROLES entfernen möchte und überprüfen möchte, ob es mindestens eine Rolle gibt, die mit ROLE_ beginnt. Wie kann es gemacht werden?
// Function to check if least one valid role is present
var USER_ROLES = ['ROLE_5'];
function hasAnyRole(USER_ROLES) {
var VALID_ROLES = [ 'ROLE_1', 'ROLE_2', 'ROLE_3', 'ROLE_4' ];
for (var i = 0; i < USER_ROLES.length; i++) {
if (_.contains(VALID_ROLES, USER_ROLES[i])) {
console.log("Found a valid role, returning true.");
return true;
}
}
console.log("No valid role found, returning false.");
return false;
}
Try underscore.any (USER_ROLES, Funktion (Rolle) {return role.substring (0, 5) === "ROLE_";}) – netoctone
@netoctone Danke, es funktioniert. Sind any() und einige() Unterstriche gleich? – Jay
ja http://underscorejs.org/#some Wenn Sie ältere Browser nicht unterstützen müssen, können Sie auch ES 5.1 Array.prototype.some http://www.ecma-international.org/ecma verwenden -262/5.1/# sec-15.4.4.17 – netoctone