Сортировать массив без отображения запятых - PullRequest
0 голосов
/ 25 февраля 2012

Я идеальный случай, когда «самый опытный компьютерщик понимает задачу».На сайте, который я делаю, мне нужно отсортировать большое количество имен.Имена меняются часто, и многие люди меняют их.Количество имен также меняется, поэтому индексация по номеру также не будет хорошей вещью.

Мой пример кода, который я нашел, выглядит следующим образом:

<script type="text/javascript">
var fruits = ["Banana<br />", "Orange<br />", "Apple<br />", "Mango<br />",];
document.write(fruits.sort());
</script>

Это работает за исключением того, чтозапятые отображаются на сайте.Это не приемлемо.Я ищу способ убрать запятые с веб-сайта, когда он отображается.

Ответы [ 3 ]

5 голосов
/ 25 февраля 2012

Массив не является строкой, и способ его преобразования по умолчанию состоит в объединении элементов с помощью ,.Просто укажите вместо этого собственную строку соединения:

var fruits = ["Banana<br />", "Orange<br />", "Apple<br />", "Mango<br />",];
document.write(fruits.sort().join('')); // Don't join by anything
0 голосов
/ 25 февраля 2012

В этом случае отображаются запятые, потому что вы записываете коллекцию в документ и, следовательно, отображается разделитель. Чтобы избежать этого, запишите записи вручную

for (var i = 0; i < fruits.length; i++) {
  document.write(fruits[i]);
}

Примечание. Как правило, лучше отделять данные от отображения. В этом случае вы смешали данные (название плода) с отображаемой информацией (<br/>). Другой способ рассмотреть написание этого является следующий

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
for (var i = 0; i < fruits.length; i++) {
  document.write(fruits[i]);
  document.write("<br/>");
}
0 голосов
/ 25 февраля 2012

Метод sort возвращает отсортированный массив. Вы можете применить метод join для объединения всех элементов этого массива с использованием разделителя перед его выводом:

document.write(fruits.sort().join(''));​
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...