首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >javascript --将字符串转换为元组数组

javascript --将字符串转换为元组数组
EN

Stack Overflow用户
提问于 2018-08-28 03:51:49
回答 4查看 2.1K关注 0票数 -3

我有一个字符串想要转换成数组

"[(6, 11), (12, 17), (18, 20)]"

.split()不能工作(或者至少我不知道如何分隔单词),而JSON.parse总是在Uncaught SyntaxError: Unexpected token上表现不佳

我是这样转换的:JSON.parse(THAT_GIVEN_LIST)

我做错了什么吗?如何将此字符串转换为一个漂亮的[(6, 11), (12, 17), (18, 20)]列表

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-08-28 03:58:44

对于JSON,您使用的括号在语法上不正确。你假设他们的意思是定义一个元组。但是,元组不是JSON原语。如果你想要像这样的嵌套结构,你最好的选择是使用嵌套数组:

代码语言:javascript
复制
const a = "[[6, 11], [12, 17], [18, 20]]";
const aa = JSON.parse(a);
console.log(aa);

aa.forEach(i => console.log(`first: ${i[0]}, second: ${i[1]}`));

票数 2
EN

Stack Overflow用户

发布于 2018-08-28 04:00:31

如果你的输入格式是python list,你可以用下一种方法来实现:

代码语言:javascript
复制
'use strict';

const tuple = "[(6, 11), (12, 17), (18, 20)]";

const tupleToArray = JSON.parse(tuple
  .replace(/\(/g, '[')
  .replace(/\)/g, ']')
);

console.log(tupleToArray);
票数 3
EN

Stack Overflow用户

发布于 2018-08-28 04:04:17

使用JSON.parse()获取二维数组。用"["替换了"(",用"]"替换了")"

代码语言:javascript
复制
var arr = JSON.parse("[(6, 11), (12, 17), (18, 20)]".split("(").join("[").split(")").join("]"));

console.log(arr);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52046119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档