Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要将特殊格式的字符串转换为javascript数组_Javascript_Arrays_String - Fatal编程技术网

我需要将特殊格式的字符串转换为javascript数组

我需要将特殊格式的字符串转换为javascript数组,javascript,arrays,string,Javascript,Arrays,String,我正在尝试将格式化字符串转换为JavaScript多维数组 我尝试了split()和push()函数,但两个函数似乎都不起作用。格式应该已经正确了,但我似乎不知道如何将字符串生成数组 下面是字符串: [[24297, 'CWCS Sump 002', -121.50842, 38.54798, '2', 'SEWER SUMP'],[8035, 'CWCS Sump 002A (56)', -121.50842, 38.54798, '2A', 'SEWER SUMP'],[9334, 'CWC

我正在尝试将格式化字符串转换为JavaScript多维数组

我尝试了
split()
push()
函数,但两个函数似乎都不起作用。格式应该已经正确了,但我似乎不知道如何将字符串生成数组

下面是字符串:

[[24297, 'CWCS Sump 002', -121.50842, 38.54798, '2', 'SEWER SUMP'],[8035, 'CWCS Sump 002A (56)', -121.50842, 38.54798, '2A', 'SEWER SUMP'],[9334, 'CWCS Sump 001', -121.5110297, 38.5703431, '1', 'SEWER SUMP']]
我只需要一个JavaScript数组,它是该字符串的3x6(如果我算对的话)。行数会有所不同。

您可以通过以下方式进行操作:

请注意,最好将
放在整个字符串的周围,将
放在字符串的内部。
可以使用:

str.replace("'", """);
您可以通过以下方式执行此操作:

请注意,最好将
'
放在整个字符串的周围,将
放在字符串的内部。可以通过以下方式实现:

str.replace("'", """);

据我说,这不会是直截了当的。你可以这样试试

let a = "[
    [24297,'CWCS Sump 002',-121.50842, 38.54798,'2','SEWER SUMP'],
    [8035,'CWCS Sump 002A (56)',-121.50842,38.54798,'2A','SEWER SUMP'],
    [9334,'CWCS Sump 001', -121.5110297,38.5703431,'1','SEWER SUMP']
]";
let c= [];

a.replace('[[','').replace(']]','').split('],[').forEach(
    (x)=>{c.push(x.split(','))}
);
//c is the result

据我说,这不会是直截了当的。你可以这样试试

let a = "[
    [24297,'CWCS Sump 002',-121.50842, 38.54798,'2','SEWER SUMP'],
    [8035,'CWCS Sump 002A (56)',-121.50842,38.54798,'2A','SEWER SUMP'],
    [9334,'CWCS Sump 001', -121.5110297,38.5703431,'1','SEWER SUMP']
]";
let c= [];

a.replace('[[','').replace(']]','').split('],[').forEach(
    (x)=>{c.push(x.split(','))}
);
//c is the result

这是JSON.parse的一个很好的候选者;但是,单引号应先转换为双引号,然后才能使用。注意转义引号,您可以尝试:

const raw=`[24297,‘化学废物处理系统集水坑002’、-121.50842、38.54798、'2’、[8035,‘化学废物处理系统集水坑002A(56)’、-121.50842、38.54798、'2A’、[9334,‘化学废物处理系统集水坑001’、-121.5110297、38.5703431、'1’、'1’、'1’、'1’、'3’;

const res=JSON.parse(raw.replace(/(?这是JSON.parse的一个很好的候选者;但是,单引号应该先转换为双引号,然后才能工作。为小心转义引号,您可以尝试:

const raw=`[24297,‘化学废物处理系统集水坑002’、-121.50842、38.54798、'2’、[8035,‘化学废物处理系统集水坑002A(56)’、-121.50842、38.54798、'2A’、[9334,‘化学废物处理系统集水坑001’、-121.5110297、38.5703431、'1’、'1’、'1’、'1’、'3’;

const res=JSON.parse(raw.replace(/)(?我实际上可以按照自己的意愿编写字符串-我之所以选择它,是因为我遵循了一个具有该格式的google maps示例。我在传统asp中格式化数据库结果中的sting,并通过ajax调用返回该字符串。以下是所有值上使用双引号格式化的smae字符串:[[“24297”、“CWCS集水坑002”、“-121.50842”、“38.54798”、“2”、“下水道集水坑”]、[“8035”、“CWCS集水坑002A(56)”、“-121.50842”、“38.54798”、“2A”、“下水道集水坑”]我认为,一旦我双重引用了这些值,现在就可以了。谢谢你的帮助!我可以按照自己的意愿编写字符串-我之所以选择这样做,是因为我遵循的是一个google maps示例,它具有这种格式。我正在用传统asp对数据库结果进行格式化,并通过ajax调用返回它。这里是smae字符串f或在所有值上用双引号表示:[“24297”、“CWCS集水坑002”、“-121.50842”、“38.54798”、“2”、“下水道集水坑”]、[“8035”、“CWCS集水坑002A(56)”、“-121.50842”、“38.54798”、“2A”、“下水道集水坑”]我认为,一旦我双重引用了这些值,现在就可以了。感谢您的帮助!字符串是通过对全局变量的ajax调用返回的。字符串是通过对全局变量的ajax调用返回的。