修剪字符串开头的逗号

时间:2013-10-01 15:31:14

标签: javascript

我需要你的帮助。

我在下面有以下函数转换选择框内容并将它们转换为一个长字符串。

问题是一旦函数运行,就会在开头有一个逗号。

如何修改现有函数以便我可以在字符串的开头修剪/删除逗号

initial result: ,A,B,C,D,E,F

expected end result: A,B,C,D,E,F

function select2var(select) {

    var x = document.getElementById(select).options

    var values = []

    for (var i=0; i < x.length; i++) {
        values.push(x[i].value);
    }
    return values.join(",");
}

function test() {

document.getElementById('box').value = select2var('alphabet')

}

HTML标记:

<select id="alphabet">
    <option value=""></option>
    <option value="A">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
    <option value="D">D</option>
    <option value="E">E</option>
    <option value="F">F</option>
</select>

2 个答案:

答案 0 :(得分:8)

不要添加空值:

if (x[i].value.length) {
   values.push(x[i].value)
}

答案 1 :(得分:0)

您可以不添加空值,或者如果您有多个空值,则可以使用filter

// values = ['','A','B','','','C',...]

values = values.filter( function(v) {
  // return 'false' when v is a false-coercing value, like the empty string
  return !!v;
});

// values = ['A','B','C',...]

或更短版本(利用内置Boolean功能)

values = values.filter( Boolean );