【问题标题】:How to remove quotes from an array in javascript?如何从javascript中的数组中删除引号?
【发布时间】:2016-05-16 07:29:26
【问题描述】:

这里我有一个数组。它是一个时间数组。

time = ["19.00","19.01","19.34","19.37","20.05","20.12","10.54","11.12"];

我想删除所有这些引号。

time = [19.00,19.01,19.34,19.37,20.05,20.12,10.54,11.12];

实际上,我是从 Redis 获取所有这些数据作为一个数组。

并将数据传递给 javascript。

var httptime1 = '<?php echo json_encode($httptime1); ?>';

我以前是这样去掉引号的,

for (var i = 0; i < time1.length; i++)
{
    time1[i] = time1[i].replace(/"/g, " ");
}

但不工作。

你能建议我,哪个是最好的方法吗?

【问题讨论】:

  • 返回的时间是字符串数组。您可以简单地将它们映射为双精度或浮点数
  • 使用isNaN()检查是否为数字,并使用parseInt()parseFloat()将其转换为数字。
  • 如果您完全关心这些数字的准确性,您会希望将它们保留为字符串,而不是使用不准确的浮点数.
  • 你可以简单地制作noQuoteTime = time.map(e =&gt; e*1)

标签: javascript php arrays regex


【解决方案1】:

JavaScript 数组的元素中没有引号。当你想要的是一个数字数组时,你拥有的是一个字符串数组。

一种解决方案是在 JavaScript 中进行转换:

var httptime1 = <?php echo json_encode($httptime1); ?>.map(Number);

但最干净的可能是从源头转换:

var httptime1 = <?php echo json_encode(array_map('floatval', $httptime1)); ?>;

编辑:

这些看起来更像小时:分钟,而不是一些实数...这意味着数字是无用的。难道你只是想要

var httptime1 = <?php echo json_encode($httptime1); ?>;

(请注意,我删除了阻止在您的代码中解析为 JS 文字数组的单引号)

【讨论】:

  • 嗨,兄弟。谢谢你回答我的问题。但是当我使用你的建议时,我得到了一个错误。 xyz.php:227 Uncaught TypeError: "["19.00","19.01","19.34","19.37","20.05","20.12","10.54","11.12"]".map is not a function
  • 现在工作正常。谢谢,很好的解释。简单而重要!
【解决方案2】:

使用Number构造函数/包装对象作为Array.map函数的回调(它将每个数组项转换为数字):

var time = ["19.00","19.01","19.34","19.37","20.05","20.12","10.54","11.12"],
    time_new = time.map(Number);

console.log(time_new); // [19, 19.01, 19.34, 19.37, 20.05, 20.12, 10.54, 11.12]

【讨论】:

    【解决方案3】:

    这些是实际的引号还是字符串,您希望它们是浮点数?因为那时你要做的就是做一个字符串到数字的转换。

    【讨论】:

      【解决方案4】:

      我尝试使用将字符串更改为数字的 Number 函数。

      var time = ["19.00","19.01","19.34","19.37","20.05","20.12","10.54","11.12"];
      time.forEach(function(a,i){time[i]=Number(a)});  
      console.log(time);
      

      【讨论】:

        猜你喜欢
        • 2018-05-28
        • 2019-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-03
        • 2021-06-26
        相关资源
        最近更新 更多