2013-03-11 2 views
-2

Можно ли удалить последнюю запятую автоматически с помощью javascript/jquery?
Код был создан формой загрузки, а не жестко закодирован!Удалить последнюю запятую в массиве

Некоторый код:

<script> 
    var images = [ 
     'image1.jpg', 
     'image2.jpg', 
     'image3.jpg', // Remove this comma 
    ]; 
</script> 

Благодаря
Ogni

+0

Давайте попробуем сохранить комментарии по теме. Если у вас есть вопрос для разъяснения вопроса, отправьте его в качестве комментария. Давайте оставляем комментарии свободными от пылания. –

ответ

4

Ну ... ты пылал к высокому небу без всякой видимой причины, но ответ, кажется, «вы не нужно беспокоиться об этой запятой ». images.length возвращает 3, а images.join (",") создает строку, которая не включает эту конечную запятую. Итак ... хотя казалось бы, что мой первоначальный ответ «это плохой синтаксис» ошибочен, реальность такова, что эта запятая не причиняет вам никакого вреда (если я не замечаю что-то). Итак ... вопрос в том, почему вас это волнует, если он есть или нет, если интерпертер оказывается совершенно не заинтересованным в этом.

Если есть какая-то более старая среда Javascript, которая недовольна этим синтаксисом, вам следует избегать ее использования.

Если этот javascript динамически генерируется каким-либо другим процессом, тогда вы должны изменить свой вопрос, чтобы указать, на каком языке/среде это происходит, и я уверен, что мы поможем вам раздавить эту запятую.

+1

Я _guessing_, что проблема с OP заключается в том, что она действительна в соответствии со спецификацией. Старый IE не запускает этот код правильно. Кроме того, на боковой ноте вы не можете действительно ссылаться на JS _compiler_. Именно поэтому люди просят OP более конкретно о своей проблеме, потому что это звучит так, как будто существует более серьезная проблема. (Кроме того, я не являюсь нисходящим из этого ответа) –

+0

@BenjaminGruenbaum, я использую компилятор как ловушку для всего, что он интерпретирует код во время выполнения. Я признаю это различие, но я использую термин агностически, потому что Javascript можно запускать во многих местах, что «компилятор» кажется более подходящим. Чувствуете ли вы, что виртуальная машина, или Interpeter, или RunTime более точна? –

+0

Вероятно, время выполнения, vm или межсетевое взаимодействие, поскольку компиляция не требуется. Однако я бы использовал термины «действительный» и «недопустимый» синтаксис в соответствии со спецификацией. Спецификация ECMAScript версии 3 не позволяет использовать конечную запятую, которая позволяет ECMAScript версии 5. Кроме того, предложение о том, чтобы OP не поддерживало OldIE, может оказаться непрактичным. –

0

Вы можете оптимизировать 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) { только

Смежные вопросы