【问题标题】:Convert a stringified list of variables to a list of stringified variables in Javascript将字符串化的变量列表转换为 Javascript 中的字符串化变量列表
【发布时间】:2020-12-13 13:17:51
【问题描述】:

我需要知道如何将用双引号括起来的变量列表转换为字符串列表,例如 转换

"[ROLE_A, ROLE_B]" 

进入

["ROLE_A", "ROLE_B"] 

使用 Javascript。 可能是某种正则表达式,或者是否有任何其他 javascript 方法可以完成任务。

很抱歉没有发布我的尝试。 这是我尝试过的:

let stringVariableList = "[ROLE_A, ROLE_B]" 
let roles = stringVariableList.replace(/"/g,"");
let listString =[]
roles.forEach(element => listString.push(element.toString()));

这导致了 Uncaught TypeError: roles.forEach is not a function

【问题讨论】:

    标签: javascript arrays regex string


    【解决方案1】:

    没有正则表达式,改变第一个和最后一个元素,其余的保持不变

    const arr = "[ROLE_A, ROLE_B, ROLE_C]".split(',')
    arr[0] = arr[0].replace('[', '')
    arr[arr.length - 1] = arr[arr.length - 1].replace(']', '');
    
    console.log(arr)

    【讨论】:

    • 仍然需要修剪结果/名称,或者更好的是,首先从逗号和空格分隔开始。因此,我认为 trincot 的方法由于其简单性而更加优雅。
    【解决方案2】:

    如果变量遵循标识符名称的常用规则(拉丁字母、数字、下划线),则使用 match

    let arr = "[ROLE_A, ROLE_B]".match(/\w+/g);
    
    console.log(arr);

    【讨论】:

    • 我猜是因为用户没有显示尝试并且您正在给出答案,但没有向下旋转
    • 没有尝试没有理由不回答。没有尝试是对问题投反对票的理由,而不是答案。
    猜你喜欢
    • 1970-01-01
    • 2013-02-14
    • 1970-01-01
    • 2019-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-21
    • 2019-08-05
    相关资源
    最近更新 更多