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

How to remove last comma of a javascript array

我找到了很多关于如何删除 javascript 字符串的最后一个逗号等的答案,但我无处设法找到以下问题的解决方案:

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

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

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

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

谁有简单的解决方案?

提前致谢

不要使用 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 生成的,那么这里的解决方案是通过使其生成正确的 JS 源代码来确保您正确使用 PHP:

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

...

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

如果您想要逗号分隔列表(或 "anything-separated" 列表)的字符串版本,您可以使用 implode 来实现。

你真的应该修复 PHP 输出,你也可以做这个技巧,因为简单的数组在末尾忽略逗号

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

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

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