从jQuery数组中删除逗号

kex*_*eam 2 javascript php forms string jquery

问题:

我在JS中有一个如下所示的数组:

["intelligence", "skin", "weight", "volume"]
Run Code Online (Sandbox Code Playgroud)

它存储在名为"newListASource"的var中.我将此var应用于表单,然后使用POST提交它.

// Form destination
var formUrl     = 'explorer.php',

// Generate the form
$form = $("<form action='"+ formUrl +"' method='post'></form>")
        .append("<input type='hidden' name='Perspective' value='" + newListASource + "'>")
        .append("<input type='hidden' name='form_submitted' value='true'>")
        .appendTo('body');

// Submit the form
$form.submit();
Run Code Online (Sandbox Code Playgroud)

当我通过PHP选择并打印出来时,它会给我一个带逗号的字符串.例如:

skin,weight,intelligence,volume
Run Code Online (Sandbox Code Playgroud)

我想要的是期望的输出(在开头和结尾有修剪的空格):

skin weight intelligence volume
Run Code Online (Sandbox Code Playgroud)

Aru*_*hny 5

由于您使用的是数组,因此使用Array.join()和分隔符' '

"<input type='hidden' name='Perspective' value='" + newListASource.join(' ') + "'>"
Run Code Online (Sandbox Code Playgroud)


MD *_*med 5

newListASource.join(' ') 会给你想要的结果 -

// Generate the form
$form = $("<form action='"+ formUrl +"' method='post'></form>")
    .append("<input type='hidden' name='Perspective' value='" 
        + newListASource.join(' ') + "'>")
    .append("<input type='hidden' name='form_submitted' value='true'>")
    .appendTo('body');

// Submit the form
$form.submit();
Run Code Online (Sandbox Code Playgroud)

文档.

目前,您正在获取逗号分隔值,因为newListASource.toString()每当您使用字符串连接数组时都会调用此值,这是toString数组方法的默认行为.join但是,当您调用时,它会将您的数组转换为字符串,并以您作为参数传递给它的分隔符分隔.因此,在这种情况下,您将获得以空格分隔的值.