可以使用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