Сначала используйте Array.from()
, чтобы превратить строку в массив, затем Array.prototype.reverse()
, чтобы отменить массив, а затем Array.prototype.join()
, чтобы вернуть строку.
const reverse = str => Array.from(str).reverse().join('');
На самом деле нет проблем. За исключением того, что будьте осторожны, чтобы порядок инициализации НЕ был порядком, в котором вы указываете инициализаторы в списке инициализации. Приказ - это тот, в котором ваши участники были объявлены в классе. Помимо этой потенциальной проблемы, я не вижу ее. НТН
Есть ли проблема инициализации numRow, numCol в списке инициализации [...]?
blockquote>В общем случае существует две проблемы с это:
- При инициализации объектов в списке инициализации объект еще не полностью сконструирован. Поэтому, когда вы вызываете нестатические функции-члены, вы вызываете их на еще не полностью сконструированный объект . Если эти функции пытаются использовать любой под-объект объекта, который не был сконструирован, вы вызываете Undefined Behavior .
- Порядок инициализации - это порядок объявления членов в определении класса , а не порядок, в котором они перечислены в список инициализации . Поэтому вам нужно обратить внимание на инициализацию членов, требующих данных от других участников. (Это можно рассматривать как под-проблему предыдущего: использование еще не построенных под-объектов.) Лучше избегать таких ситуаций, но если их не избежать, добавьте большой, страшный комментарий к тому, где объявлены члены в определении класса, подчеркивая важность их порядка.
В вашем конкретном примере это не имеет значения, поэтому вы safe для этого.