如何删除javascript数组的最后一个逗号

时间:2016-09-26 16:47:51

标签: javascript arrays comma

我已经找到了很多关于如何删除javascript字符串逗号的答案,所以,但我无法找到解决以下问题的方法:

var columns = new Array("datum","viz1","viz2","gaz","aram_nappali",);

这是我的数组,我想删除最后一个逗号,因为它们是通过PHP if语句生成的。

我尝试了以下但没有成功:

columns = columns.substring(1, s.length - 1);

任何人都可以使用简单的解决方案吗?

提前致谢

4 个答案:

答案 0 :(得分:2)

var columns = ["datum","viz1","viz2","gaz","aram_nappali",];
var a = columns.toString();
//a will be "datum,viz1,viz2,gaz,aram_nappali"

答案 1 :(得分:0)

不要使用new Array(),它不会按照您的想法执行(感谢behaving differently depending on how many arguments you supply)。 JavaScript有一个数组 literal ,你应该使用它(无论你是手工编写JS还是在转换步骤中生成它):

// in JavaScript:
var columns = ["datum","viz1","viz2","gaz","aram_nappali"];

而且,如果您的JS是通过PHP生成的,那么这里的解决方案是确保您正确使用PHP,使其生成正确的JS源代码:

// in PHP:
$varlist = array("datum","viz1","viz2","gaz","aram_nappali");

...

// use [implode] to convert your array to joined string:
$jscode = 'var columns = "' . implode('","', $varlist) . '"];';

如果你想要一个逗号分隔列表的字符串版本(或者"任何分隔的"列表),你可以使用implode来实现这一点。

答案 2 :(得分:0)

你应该真正修复PHP输出,你也可以这样做,因为简单的数组最后会忽略逗号

var columns = ["datum","viz1","viz2","gaz","aram_nappali",,,];
var test = new Array(columns.join());
console.log(test);

答案 3 :(得分:-3)

创建后立即删除数组中的最后一项:

columns.splice((columns.length -1), 1)