JavaScript эквивалент функции Python format ()? - PullRequest
40 голосов
/ 12 февраля 2011

Python имеет эту прекрасную функцию, чтобы превратить это:

bar1 = 'foobar'
bar2 = 'jumped'
bar3 = 'dog'

foo = 'The lazy ' + bar3 + ' ' + bar2 ' over the ' + bar1
# The lazy dog jumped over the foobar

В это:

bar1 = 'foobar'
bar2 = 'jumped'
bar3 = 'dog'

foo = 'The lazy {} {} over the {}'.format(bar3, bar2, bar1)
# The lazy dog jumped over the foobar

Есть ли в JavaScript такая функция?Если нет, то как бы я создал тот, который следует тому же синтаксису, что и реализация Python?

Ответы [ 13 ]

0 голосов
/ 24 июня 2015

В файле

https://github.com/BruceSherwood/glowscript/blob/master/lib/glow/api_misc.js

- это функция String.prototype.format = function (args), которая полностью реализует функцию Python string.format (), не ограничиваясь просто обработкой символьных строк.

0 голосов
/ 12 февраля 2011

JavaScript не имеет функции форматирования строк по умолчанию, хотя вы можете создать свой собственный или использовать тот, который сделал кто-то другой (например, sprintf )

0 голосов
/ 12 февраля 2011

JavaScript не имеет такой функции AFAIK.

Вы можете создать ее, изменив объект-прототип класса String, добавив метод format (), который принимает переменное число аргументов.

В методе форматирования вам нужно получить значение экземпляра String (фактическую строку), а затем проанализировать его для '{}' и вставить соответствующий аргумент.

Затем вернуть новую строку вызывающей стороне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...