Используя параметры в словаре с JavaScript

Возможный Дубликат:
JavaScript, эквивалентный printf/string.format

Я использую словарь, чтобы считать весь текст используемым на веб-сайте как

var dict = {
  "text1": "this is my text"
};

Запрос текстов с JavaScript (jQuery),

$("#firstp").html(dict.text1);

И придумайте проблему, что часть моего текста не статична. Я должен написать некоторый параметр в свой текст.

У вас есть 100 сообщений

$("#firstp").html(dict.sometext+ messagecount + dict.sometext);

и это - noobish

Я хочу что-то как

var dict = {
  "text1": "you have %s messages"
};

Как я могу написать "messagecount" в том, туда, где %s.

3
nl ja de
Я думаю, заменяют, лучший выбор здесь. В любом случае ваш собственный printf в принципе использовал бы его, таким образом, я предлагаю, чтобы вы продолжили это;-).
добавлено автор Masiar, источник
Почему не просто используют заменить?
добавлено автор Denys Séguret, источник
Таким образом, я прихожу к заключению, что ваш фактический вопрос не имеет никакого отношения к "словарям"?
добавлено автор Bergi, источник
добавлено автор Bergi, источник
Напишите свой собственный printf в JS и разделите его с сообществом :-),
добавлено автор techfoobar, источник

1 ответы

Без любых библиотек можно создать собственную легкую функцию формата строки:

function format(str) {
    var args = [].slice.call(arguments, 1);
    return str.replace(/{(\d+)}/g, function(m, i) {
        return args[i] !== undefined ? args[i] : m;
    });
}

format("you have {0} messages", 10);
// >> "you have 10 messages"

Или с помощью Последовательность объект:

String.prototype.format = function() {
    var args = [].slice.call(arguments);
    return this.replace(/{(\d+)}/g, function(m, i) {
        return args[i] !== undefined ? args[i] : m;
    });
};

"you have {0} messages in {1} posts".format(10, 5);
// >> "you have 10 messages in 5 posts"
1
добавлено
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском