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

时间:2013-11-09 05:24:03

标签: javascript jquery

我有一个包含像这样的值的变量..

["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,'');

请帮帮我。 提前谢谢..

2 个答案:

答案 0 :(得分:2)

首先,您必须注意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]"

虽然这可能没什么用,除非你考虑到一些非常具体的用例。

答案 1 :(得分:0)

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

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

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

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

您可以使用的一些选择:

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

  2. Date对象数组。

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