【问题标题】:How to add "" on Array elements如何在数组元素上添加“”
【发布时间】:2014-07-07 17:55:10
【问题描述】:

我在 Jquery 中有点新……我正在绘制 highchart 图表

我正在设置我的 x 轴分类:

chart.axes[0].categories: [1.1,2.0]

我需要将“”放在所有元素上。比如 ..

chart.axes[0].categories: ["1.1","2.0".....]

我已经看到了 replacewith() 方法的使用..但它似乎替换了特定元素的内容..如何在数组中实现它..

我试过这个:

 $.each(Arr1, function (index, value) {

            value.replace('','"');
        });

还有这个..

Arr1.push(String(value));

但这不起作用:

任何建议都会有所帮助

【问题讨论】:

  • 你为什么要这么做?
  • Arr1[index] = value.replace('"',"'");
  • 这样做有什么意义?如果 Arr1 是一个数组。
  • 你有一个字符串数组,字符串中有引号吗?或者你想格式化数组的打印方式?即:你有 ['"1.1413.2"','"2.0.4.7"','"2.0.4.7"','"2.0.4.7"','"2.0.4.7"'] 或只是一个数组包含版本号的字符串?
  • 我编辑了我的问题...它是一个数组..

标签: jquery arrays


【解决方案1】:

这里有很多问题:

  1. 您的第二个字符串文字已损坏。使用"'"'\''
  2. 当使用字符串作为第一个参数时,.replace 只会替换找到的第一个实例。要替换所有实例,请使用带有 g 标志的正则表达式。
  3. 最后,您实际上并没有以任何方式修改数组,因为.replace 方法返回一个新字符串。改用简单的for-loop。

最后你的代码应该是这样的:

for (var i = 0; i < Arr1.length; i++)
    Arr1[i] = Arr1[i].replace(/"/g,"'");

鉴于您的更新,问题的性质发生了重大变化。现在看来,您想要的只是将数组中的数字转换为字符串。为此,只需使用toString 方法:

for (var i = 0; i < Arr1.length; i++)
    Arr1[i] = Arr1[i].toString();

或者为了简洁,concatenate 带有空字符串的值:

for (var i = 0; i < Arr1.length; i++)
    Arr1[i] = Arr1[i] + "";

但请注意,这将删除尾随的 0。像1.0 这样的数字将被转换为像"1" 这样的字符串。为确保不修剪尾随小数,请使用toPrecision

for (var i = 0; i < Arr1.length; i++)
    Arr1[i] = Arr1[i].toPrecision(2);

【讨论】:

    【解决方案2】:

    您似乎将数据作为字符串存储在数组中。

    您的整个目标基本上毫无意义,因为您的字符串文字是使用单引号 '' 还是双引号 "" 构建的并不重要。

    查看this link 了解有关使用单引号和双引号的更多详细信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-09
      • 2020-11-05
      • 2015-04-17
      • 1970-01-01
      • 2019-12-08
      • 2021-05-28
      • 1970-01-01
      • 2010-10-19
      相关资源
      最近更新 更多