#javascript #jquery
#javascript #jquery
Вопрос:
Я хотел бы знать, есть ли лучший способ обработки большого количества замен jquery / javascript. Так выглядит мой код в настоящее время, и я буду добавлять в него больше слов / фраз. Мне интересно, должен ли я выполнять какой-то цикл со словами в массиве или объекте? Или слова, возможно, даже должны храниться в другом файле?
input = input.replace(/bandb/g, "amp;")
//COMMON ABREVIATIONS
.replace(/bwithb/g, "w/")
.replace(/bwithoutb/g, "w/o")
.replace(/bpeopleb/g, "ppl")
.replace(/bbecauseb/g, "b/c")
.replace(/bestablishedb/g, "est.")
.replace(/bstreetb/gi, "St.")
.replace(/bavenueb/gi, "Ave.")
.replace(/bparkwayb/gi, "Pkwy.")
.replace(/blaneb/gi, "Ln.")
.replace(/bboulevardb/gi, "Blvd.")
.replace(/bassociatesb/gi, "Assoc.")
.replace(/bretweetb/gi, "RT")
.replace(/bapartmentb/gi, "Apt.")
.replace(/bdirect messageb/gi, "DM")
.replace(/bphoto creditb/, "PC")
.replace(/bphoto credb/, "PC");
Комментарии:
1. Вы могли бы перебирать объекты / массивы с помощью jQuery .each , затем, возможно, сохранить определения в другом файле или получить его из базы данных через ajax или что-то в этом роде.
2. У меня есть решение для этого, но мне нужно найти мой школьный рабочий лист, дайте мне минуту.
3. В вашем примере данных, что вы хотите, должен быть вывод ?.
Ответ №1:
Я кое-что нашел, но, к сожалению, он не улавливает фразы из двух слов. Бьюсь об заклад, что-то не так с регулярным выражением.
var input = {
'band': "amp;",
'with': "w/",
'without': "w/o",
'people': "ppl",
'because': "b/c",
'established': "est.",
'street': "St.",
'avenue': "Ave.",
'parkway': "Pkwy.",
'lane': "Ln.",
'boulevard': "Blvd.",
'associates': "Assoc.",
'retweet': "RT",
'apartment': "Apt.",
'direct message': "DM",
'photo credit': "PC",
'photo cred': "PC"
};
console.log('band with'.replace(/w /gi, match => input[match]));