#javascript #string #reverse
#javascript #строка #обратный
Вопрос:
Как я могу изменить порядок Duck, Donald с помощью Javascript? В настоящее время я извлекаю Duck, Donald из строки запроса, и я хотел бы иметь возможность отображать его на странице, получая его как Dondald Duck. Я использую document.write("Name: " Request.QueryString("name"));
для записи Duck, Donald на страницу, и я также хотел бы иметь возможность изменить ‘Mouse’, ‘Mickey G’ на просто ‘Микки Маус’.
Ответ №1:
var name = Request.QueryString("name").Item(1).split(",").reverse().join(" ").trim();
if(name.split(" ").length > 2) {
name = name.split(" ");
name.splice(1, 1);
name = name.join(" ");
}
document.write(name);
Пример в http://jsfiddle.net/6AdGs /
Комментарии:
1. куда бы пошел document.write? Я пробовал: имя переменной = запрос. Строка запроса(«name»); name = name.split(«,»).reverse().join(» «); document.write(«Имя: » Запрос. Строка запроса(«name»)); и она отображается пустой на странице
2. Я бы не советовал использовать document.write, поскольку это ужасная практика, но я обновил свой ответ.
3. @Will: Пока вы правы, но последняя строка вашего кода неверна, поскольку теперь запрошенная вами строка обрабатывается с помощью
split()
, вам нужно использовать,document.write("Name: " name);
поскольку переменнаяname
изменила строку.4. на странице все еще отображается пустое значение, когда я использовал то, что у вас есть выше
5. Можете ли вы предоставить рабочий пример вашей программы по jsfiddle.net ?
Ответ №2:
Вы можете разделить строку, используя метод split, а затем вставить их в правильном порядке:
var str = 'Duck, Donald';
var parts = str.split(',');
document.write(parts[1] ' ' parts[0]);
В принципе, это то, что вам нужно сделать. Надеюсь, это поможет!
Ответ №3:
Эта функция может вам помочь.
<script>
function reverseName(str) {
var tail = str.substr(0, str.indexOf(","));
var head = str.substr(str.indexOf(",") 1);
return head ' ' tail;
}
document.write("Name: " reverseName(Request.QueryString("name")));
</script>
Ответ №4:
Как и выше, но подумайте: всегда ли имена и фамилии разделяются запятыми? Это становится актуальным с некоторыми неанглоязычными именами, которые вы можете найти, такими как ‘Silva dos Santos, Miguel Jesus’, где Silva dos Santos — это фамилии, а Miguel Jesus — это имена.