javascript - 使用 JS/JQuery 将大文本转换为缩写或短字符串

标签 javascript jquery arrays replace

我需要将这个大字符串转换为缩写(短)字符串文本

我写这段代码但只转换最后一个值(Cuba 到 CUB)

你能帮帮我吗?

  function text_abbrev() {

    if ($(window).width() <= 480) {
      $('.nav-tabs li a').each(function() {
        var text = $(this).text();
        $(this).text(text.replace('Tijuana', 'TIJ'));
        $(this).text(text.replace('Monterrey', 'MTY'));
        $(this).text(text.replace('Guadalajara', 'GDL'));
        $(this).text(text.replace('Toluca', 'TLC'));
        $(this).text(text.replace('Cancún', 'CUN'));
        $(this).text(text.replace('Cuba', 'CUB'));
      });

    } else {}
  } 

最佳答案

您正在用最新的更改覆盖结果。 Replace 返回一个字符串,您需要替换每个部分。如果将它分配给输出,则保留原始 text 值并且不会替换它。

function text_abbrev() {
    if ($(window).width() <= 480) {
      $('.nav-tabs li a').each(function() {
        var text = $(this).text();
        text = text.replace('Tijuana', 'TIJ');
        text = text.replace('Monterrey', 'MTY');
        text = text.replace('Guadalajara', 'GDL');
        text = text.replace('Toluca', 'TLC');
        text = text.replace('Cancún', 'CUN');
        $(this).text(text.replace('Cuba', 'CUB'));
      });
    } else {}
  } 

单链短一点

$(this).text(
    $(this).text()
    .replace('Tijuana', 'TIJ')
    .replace('Monterrey', 'MTY')
    .replace('Guadalajara', 'GDL')
    .replace('Toluca', 'TLC')
    .replace('Cancún', 'CUN')
    .replace('Cuba', 'CUB')
);

关于javascript - 使用 JS/JQuery 将大文本转换为缩写或短字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38598117/

相关文章:

javascript - 在javascript中将并行字符串化(序列化)到JSON

javascript - 更改 Galleria 全屏主题中的第一张图片

java - 如何将输入值与数组的每个值进行比较?

java - 在控制台上打印数组引用变量

javascript - 将 PHP 对象数组转换为 javascript 数组

JavaScript 多个函数的回调

Javascript 函数无法提供当前星期几信息

javascript - 加速 Meteor.js 中的自动重新加载

c# - 通过 JQuery Ajax 将数组发送到 ASP.NET MVC 模型

javascript - 这个 JSON 字符串有什么问题?