Как перевернуть строку в JS
Для того, чтобы перевернуть строку вначале нужно ее разбить с помощью метода split , затем перевернуть ее методом reverse и в конце объединить методом join . Смотрите пример:
let str = ‘abcde’; let res = str.split(»).reverse().join(»); console.log(res);
Результат выполнения кода:
Смотрите также
- метод split ,
который разбивает строку в массив по указанному разделителю - метод reverse ,
который изменяет порядок элементов в массиве на обратный - метод join ,
который сливает элементы массива в строку
Трепачёв Дмитрий © 2012-2023
t.me/trepachev_dmitry
Перевернуть строку в JavaScript
В этом посте мы обсудим, как перевернуть строку в JavaScript.
Поскольку строки в JavaScript неизменяемы, на месте реверс строки невозможен. Есть несколько способов создать обратную копию строки с помощью JavaScript.
1. Использование Array.prototype.reverse() функция
Идея состоит в том, чтобы сначала преобразовать строку в массив символов, а затем вызвать Array.prototype.reverse() метод для реверсирования массива на месте. Наконец, соедините массив обратно в строку с помощью Array.prototype.join() метод.
Чтобы преобразовать строку в массив символов, вы можете использовать любой из следующих методов.
Реализация функции которая переворачивает строку [закрыт]
Закрыт. Этот вопрос необходимо уточнить или дополнить подробностями. Ответы на него в данный момент не принимаются.
Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.
Закрыт 4 года назад .
Начинаю изучать язык JavaScript и в некоторых задачах вообще не понимаю в чем суть. Вот задание:
Реализуйте функцию reverse , которая переворачивает строку.
Например: reverse(‘hello, world!’);
А вот ответ:
const reverse = (str) => < let i = str.length - 1; let result = ''; while (i >= 0) < result = result + str[i]; i = i - 1; >return result; >;
Отслеживать
user262779
задан 22 янв 2019 в 18:08
Бодя Кузнецов Бодя Кузнецов
1 1 1 серебряный знак 2 2 бронзовых знака
Пожалуйста , обьясните все детально почему и как все делаем
22 янв 2019 в 18:10
А что вы собственно от сообщества хотите? Я лично понять не могу.
22 янв 2019 в 18:11
Учебные задания допустимы в качестве вопросов только при условии, что вы пытались решить их самостоятельно перед тем, как задать вопрос. Пожалуйста, отредактируйте вопрос и укажите, что именно вызвало у вас трудности при решении задачи. Например, приведите код, который вы написали, пытаясь решить задачу.
String
Объект String используется, чтобы представить и конструировать последовательность символов.
Синтаксис
Строковые литералы могут быть следующих форм:
'строка текста' "строка текста" "中文 español English हिन्दी العربية português বাংলা русский 日本語 ਪੰਜਾਬੀ 한국어 தமிழ்"
Кроме регулярных печатных символов можно использовать специальные символы, которые можно закодировать, используя нотацию escape-последовательностей:
| Код | Вывод |
|---|---|
| \0 | нулевой символ (символ NUL) |
| \’ | одинарная кавычка |
| \» | двойная кавычка |
| \\ | обратный слеш |
| \n | новая строка |
| \r | возврат каретки |
| \v | вертикальная табуляция |
| \t | табуляция |
| \b | забой |
| \f | подача страницы |
| \uXXXX | Юникод-символ |
| \xXX | символ в кодировке Latin-1 |
Либо можно использовать глобальный объект String напрямую:
String(thing) new String(thing)
Параметры
Всё, что может быть преобразовано в строку.
Описание
Строки полезны для хранения данных, которые можно представить в текстовой форме. Некоторые из наиболее частых операций со строками — это проверка их длины, построение строки с помощью операций строковой конкатенации + и +=, проверка на существование или местоположение подстрок с помощью метода indexOf() , либо извлечение подстрок с помощью метода substring() .
Доступ к символам
Существует два способа добраться до конкретного символа в строке. В первом способе используется метод charAt() :
return "кот".charAt(1); // вернёт "о"
Другим способом (введённым в ECMAScript 5) является рассмотрение строки как массивоподобного объекта, в котором символы имеют соответствующие числовые индексы:
return "кот"[1]; // вернёт "о"
При доступе к символам посредством нотации с квадратными скобками, попытка удалить символ, или присвоить значение числовому свойству закончится неудачей, поскольку эти свойства являются незаписываемыми и ненастраиваемыми. Смотрите документацию по методу Object.defineProperty() для дополнительной информации.
Сравнение строк
Разработчики на C имеют для сравнения строк функцию strcmp() . В JavaScript вы просто используете операторы меньше и больше:
var a = "a"; var b = "b"; if (a b) // true print(a + " меньше чем " + b); > else if (a > b) print(a + " больше чем " + b); > else print(a + " и " + b + " равны."); >
Подобный результат также может быть достигнут путём использования метода localeCompare() , имеющегося у всех экземпляров String .
Разница между строковыми примитивами и объектами String
Обратите внимание, что JavaScript различает объекты String и значения строкового примитива (то же самое верно и для объектов Boolean и Number ).
Строковые литералы (обозначаемые двойными или одинарными кавычками) и строки, возвращённые вызовом String в неконструкторном контексте (то есть, без использования ключевого слова new ) являются строковыми примитивами. JavaScript автоматически преобразует примитивы в объекты String , так что на строковых примитивах возможно использовать методы объекта String . В контекстах, когда на примитивной строке вызывается метод или происходит поиск свойства, JavaScript автоматически оборачивает строковый примитив объектом и вызывает на нём метод или ищет в нём свойство.
var s_prim = "foo"; var s_obj = new String(s_prim); console.log(typeof s_prim); // выведет 'string' console.log(typeof s_obj); // выведет 'object'
Строковые примитивы и объекты String также дают разные результаты при использовании глобальной функции eval() . Примитивы, передаваемые в eval() , трактуются как исходный код; объекты же String трактуются так же, как и все остальные объекты, а именно: возвращается сам объект. Например:
var s1 = "2 + 2"; // создаёт строковый примитив var s2 = new String("2 + 2"); // создаёт объект String console.log(eval(s1)); // выведет число 4 console.log(eval(s2)); // выведет строку '2 + 2'
По этим причинам код может сломаться, если он получает объекты String , а ожидает строковые примитивы, хотя в общем случае вам не нужно беспокоиться о различиях между ними.
Объект String также всегда может быть преобразован в его примитивный аналог при помощи метода valueOf() .
.log(eval(s2.valueOf())); // выведет число 4
Свойства
Хранит длину строки. Только для чтения.
Методы
Возвращает строку, созданную из указанной последовательности значений Юникода.
Возвращает строку, созданную из указанной последовательности кодовых точек Юникода.
Возвращает строку, созданную из сырой шаблонной строки.
Общие методы объекта String
Методы экземпляров String также доступны в Firefox как часть JavaScript 1.6 (который не является частью стандарта ECMAScript) на объекте String , что позволяет применять эти методы к любому объекту:
var num = 15; console.log(String.replace(num, /5/, "2"));
Общие методы также доступны для объекта Array .
Следующая прослойка позволяет использовать их во всех браузерах:
/*globals define*/ // Предполагаем, что все требуемые методы экземпляров String уже присутствуют // (для них так же можно использовать полифилы, если их нет) (function () "use strict"; var i, // Мы могли построить массив методов следующим образом, однако метод // getOwnPropertyNames() нельзя реализовать на JavaScript: // Object.getOwnPropertyNames(String).filter(function(methodName) // return typeof String[methodName] === 'function'; // >); methods = [ "quote", "substring", "toLowerCase", "toUpperCase", "charAt", "charCodeAt", "indexOf", "lastIndexOf", "startsWith", "endsWith", "trim", "trimLeft", "trimRight", "toLocaleLowerCase", "toLocaleUpperCase", "localeCompare", "match", "search", "replace", "split", "substr", "concat", "slice", ], methodCount = methods.length, assignStringGeneric = function (methodName) var method = String.prototype[methodName]; String[methodName] = function (arg1) return method.apply(arg1, Array.prototype.slice.call(arguments, 1)); >; >; for (i = 0; i methodCount; i++) assignStringGeneric(methods[i]); > >)();
Примеры
Пример: преобразование в строку
Объект String можно использовать как «безопасную» альтернативу методу toString() , так как хотя он обычно и вызывает соответствующий метод toString() , он также работает и для значений null и undefined . Например:
var outputStrings = []; for (var i = 0, n = inputValues.length; i n; ++i) outputStrings.push(String(inputValues[i])); >
Спецификации
| Specification |
|---|
| ECMAScript Language Specification # sec-string-objects |
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
This page was last modified on 7 авг. 2023 г. by MDN contributors.
Your blueprint for a better internet.
MDN
Support
- Product help
- Report an issue
Our communities
Developers
- Web Technologies
- Learn Web Development
- MDN Plus
- Hacks Blog
- Website Privacy Notice
- Cookies
- Legal
- Community Participation Guidelines
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2023 by individual mozilla.org contributors. Content available under a Creative Commons license.
