可以使用javascript/jquery自动删除最后一个逗号吗?
该代码是由上传表单生成的,不是硬编码的!删除数组中的最后一个逗号
一些代码:
<script>
var images = [
'image1.jpg',
'image2.jpg',
'image3.jpg', // Remove this comma
];
</script>
感谢
Ogni
可以使用javascript/jquery自动删除最后一个逗号吗?
该代码是由上传表单生成的,不是硬编码的!删除数组中的最后一个逗号
一些代码:
<script>
var images = [
'image1.jpg',
'image2.jpg',
'image3.jpg', // Remove this comma
];
</script>
感谢
Ogni
嗯......你被火烧到高天没有明显的理由,但答案似乎是“你不需要担心这个逗号“。 images.length
返回3,并且images.join(“,”)会生成一个不包含尾随逗号的字符串。所以......尽管看起来我对“这是糟糕的语法”的初步回答是错误的,但事实上这个逗号似乎对你没有任何坏处(除非我忽略了某些东西)。所以......问题在于,为什么你会关心它是否存在,如果interperter似乎完全不感兴趣。
如果有一些较老的Javascript环境对此语法不满意,那么您应该避免使用它。
如果这个javascript是由一些其他进程动态生成的,那么你应该改变你的问题来指定发生什么语言/环境,我相信我们会帮你压缩那个尾随的逗号。
我觉得OP的问题是根据规范它是有效的。旧IE不能正确运行此代码。另外,在附注中,你不能真正引用JS _compiler_。这就是为什么人们要求OP对他的问题更加具体,因为这听起来像是有一个更大的下层问题。 (另外,我不是这个答案的落后者) – 2013-03-11 11:22:44
@BenjaminGruenbaum,我使用编译器作为捕获,无论它是在运行时解释代码。我承认这种区别,但是我使用的术语是无意义的,因为Javascript可以在很多地方运行,所以“编译器”似乎更加适合。你觉得虚拟机,Interpeter还是RunTime更准确? – 2013-03-11 11:25:31
由于不需要编译,所以可能是运行时,虚拟机或interperter工作。尽管如此,我会根据规范使用术语有效和无效的语法。 ECMAScript version 3规范不允许ECMAScript version 5规范允许的尾随逗号。此外,建议OP不支持OldIE可能不实际。 – 2013-03-11 11:28:32
您可以优化if (image == NaN || image == null) {
逻辑 并尝试此代码。
<script type="text/javascript" language="javascript">
var images = [
'image1.jpg',
'image2.jpg',
'image3.jpg',
];
alert(images.length);
var image = images[images.length - 1];
if (image == NaN || image == null) {
images.pop();
}
alert(images.length);
</script>
删除NaN
使用if (image == null) {
只有
让我们尽量保持评论的话题。如果您对澄清问题有疑问,请将其作为评论发布。让我们保持评论免于燃烧。 – 2013-03-11 11:54:49