如何从jquery数组中删除双引号

How to remove double quotes from jquery array

本文关键字:删除 数组 jquery      更新时间:2023-09-26

我有一个变量,其中包含这样的值..

["09:09:49", "00:14:09", "00:05:50", "02:38:02", "01:39:28"]

现在根据我的需要,我必须像这样格式化..

[09:09:49, 00:14:09, 00:05:50, 02:38:02, 01:39:28]

为此我尝试了

 callduration=[];
 callduration=["09:09:49", "00:14:09", "00:05:50", "02:38:02", "01:39:28"];
 var newstring = callduration.replace(/'"/g,'');

但它给出了错误.

TypeError: callduration.replace is not a function
var newstr=callduration.replace(/'"/g,'');

请帮助我。提前谢谢..

首先,你必须注意callduration是一个数组。数组没有replace方法,因此会出现错误。

正如@Felix Kling所提到的,引号只是字符串分隔符。它们不是字符串数组中包含的字符串值的一部分。例如,访问callduration[0]时,您将获得一个包含09:09:49字符序列的字符串。

但是,如果您确实需要请求格式的字符串,这里是:

var callduration = ["09:09:49", "00:14:09", "00:05:50", "02:38:02", "01:39:28"];
var newstr = '[' + callduration.join(', ') + ']';
newstr; //"[09:09:49, 00:14:09, 00:05:50, 02:38:02, 01:39:28]"

尽管除非您有一些非常具体的用例,否则这可能没有多大用处。

callduration是一个

数组。 这意味着它包含一个顺序的有序项目列表。 这些项目必须是可以在javascript中存在的东西。 由于您的数组是这样存在的:

["09:09:49", "00:14:09", "00:05:50", "02:38:02", "01:39:28"]

它是一个字符串数组。 每个时间值都由其自己的字符串表示。 引号实际上不是字符串的一部分 - 这就是键入字符串时表示字符串的方式。

如果希望数组是字符串以外的数组,则需要指定所需的数据类型。 09:09:49正如你所问的,它不是一个合法的javascript数据。

您可以使用的一些选项:

    一个数字
  1. 数组,其中每个数字表示一个时间值(例如自午夜以来的毫秒)。

  2. Date 对象的数组。

如果你现在有一个字符串数组,并且你想把它转换为上述任何一个,你可以遍历你现有的数组,将你现在拥有的字符串解析为实际的数字时间,然后将其转换为你想要在数组中的任何数字或对象格式。