簡體   English   中英

有沒有更優雅的javascript解決方案?

[英]Is there a more elegant javascript solution?

正在使用角色檢查功能。 我將純文本用戶角色存儲在數據庫中,因為它更易於理解。 我將userRole轉換為$ roles數組的索引值,對needRoleRole做同樣的操作,然后檢查userRole值是否小於所需的RoleValue。 它可以工作,但是似乎有一種更干凈的方法可以做到。 我錯了嗎?還是可以用更少的代碼來完成相同的事情?

roleCheck = function(){
    var userRole = 'admin'; 
    var reqRole = 'producer'
    var $roles = ['super', 'admin', 'producer', 'resource','client'];
    var userRoleValue;
    var reqRoleValue;

    _.each($roles, function(v, i){
        if(v===userRole){
            userRoleValue = i;
        }
    })

    _.each($roles, function(v, i){
        if(v===reqRole){
            reqRoleValue = i;
        }
    })
    if(userRoleValue<=reqRoleValue){
        return true;
    }else{
        return false;
    }

}

您可以使用.indexOf簡化此.indexOf

演示

roleCheck = function (){
  var userRole = 'admin',
      reqRole = 'producer',
      roles = ['super', 'admin', 'producer', 'resource','client'];


  return (roles.indexOf(userRole) <= roles.indexOf(reqRole));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM