我已经找到了很多关于如何删除javascript字符串逗号的答案,所以,但我无法找到解决以下问题的方法:
var columns = new Array("datum","viz1","viz2","gaz","aram_nappali",);
这是我的数组,我想删除最后一个逗号,因为它们是通过PHP if语句生成的。
我尝试了以下但没有成功:
columns = columns.substring(1, s.length - 1);
任何人都可以使用简单的解决方案吗?
提前致谢
答案 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)