javascript для изменения порядка значений

#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 — это имена.