suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Gibt es eine bessere Möglichkeit, mit dieser Zeichenfolge umzugehen? Ich habe zwei Methoden geschrieben

//判断字符串为空的方法
const isEmpty = (value) => {
    if (value === null || value === 'undefined' || value === undefined || value === '') {
        return true;
    }

    if (typeof value === 'string' && value.trim() === '') {
        return true;
    }

    return false;
}

///////////////
//要处理的字符串
//每组key-value用,分隔, key-value之间是:
//想要的结果, 取出所有key, 组成array, 如: ['1', '2']
///////////////
let depts = "1:a,2:b,";


// 方法1:
let result1 = [];
if (!isEmpty(depts)) {
    let deptsArray = depts.split(',');
    for (let deptArray of deptsArray) {
        if (deptArray) {
            let deptId = deptArray.split(':')[0];
            result1.push(deptId);
        }
    }
}

console.log(result1);//结果 ['1','2']

// 方法2:
let result2 = isEmpty(depts) ? [] : depts.split(',')
    .filter(item => !isEmpty(item))
    .map(item => item.split(":")[0]);

console.log(result2);

// 方法3: ?????

Wenn es Fehler gibt, korrigieren Sie mich bitte

黄舟黄舟2717 Tage vor534

Antworte allen(1)Ich werde antworten

  • 给我你的怀抱

    给我你的怀抱2017-06-26 11:00:58

    格式确定的话,可以用正则匹配。

    let depts = "1:a,2:b,3:5,";
    let arr=depts.match(/\d+(?=\:)/g);
    console.log(arr)

    Antwort
    0
  • StornierenAntwort