【问题标题】:filter array of strings based on priorities javascript基于优先级javascript过滤字符串数组
【发布时间】:2022-06-10 18:17:53
【问题描述】:

我有一个这样的对象:

常量数组 = { "clientName": "xyz", “经验”:0, “角色”:[ "dist 用户", “管理员开发” ] };

我想根据优先级过滤角色作为 admin-* 然后第二优先级作为 dist-users,如果不存在则默认为 dist-users。如何实现?

【问题讨论】:

标签: javascript


【解决方案1】:

filter 遍历所有元素 - 你无法停止它。

我认为这不是正确的方法,您应该使用Array.findArray.findIndex 来探测roles 数组并确定它是否有以所需前缀开头的项目。

const array = {
    "clientName": "xyz",
    "exp": 0,
    "prefUserName": "admin-dev",
    "roles": [
        "dist-users",
        "admin-dev"
    ]
};

const admin = array.roles.find(role => role.includes('admin-'))
const dist = array.roles.find(role => role.includes('dist-users'))

const roles = [ admin || dist || 'dist-users' ]

console.log(roles)

【讨论】:

  • “任何足够先进的技术都与魔法无异。” - 亚瑟 C 克拉克 ;-)
猜你喜欢
  • 2020-06-28
  • 1970-01-01
  • 1970-01-01
  • 2017-01-13
  • 2011-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多