当前位置: 首页 > 知识库问答 >
问题:

解析字符串到数组

孟振
2023-03-14

是否有一个内置的javascript函数可以解析:

var string = '[2,1,-4]';
var multiString = '[[-3,2,-1][2,-3,2][1,-1,3]]';

var array = [2,1,-4];
var multiArray = [[-3,2,-1],[2,-3,2],[1,-1,3]];

或者我必须为此编写自定义函数吗?

共有3个答案

傅献
2023-03-14

如果您想自己做这件事,可以使用substring和split来完成。可能的解决方案如下所示:

var multiString = '[[-3,2,-1][2,-3,2][1,-1,3]]';
var string = '[2,1,-4]';    
function parse(input) {
    var s = input;
    // remove leading [ and trailing ] if present
    if (input[0] == "[") {
        s = input.substring(0, input.length);
    }
    if (input[input.length] == "]") {
        s = s.substring(input.length-1, 1);
    }
    // create an arrray, splitting on every ,
    var items = s.split(",");
    return items;
}
// items is now an array holding 2,-1,4
var items = parse(string);

然后可以将较大的字符串拆分为较小的块,并使用数组将函数应用于每个部分。地图:

function parseAOfA(input) {
    var s = input.substring(0, input.length).substring(input.length-1, 1);
    s = s.substring(0, s.length).substring(s.length-1, 1);
    s = s.split("][");
    var items = s.map(parse);
    return items;
}
var items = parseAOfA(multiString);
郜联
2023-03-14

为完整起见,您可以使用eval:

var s = '[1,2,3]';
var a = eval(s);

然而,如果字符串是有效的JSON,那么正如Niet所建议的,JSON. parse是一个更好的解决方案。

柯书
2023-03-14

假设您将多字符串更正为正确的格式
(即'[-3,2,-1][2,-3,2][1,-1,3]]

那么是的。

array = JSON.parse(string);
multiArray = JSON.parse(multiString);
 类似资料:
  • Milo Yip 2016/9/27 本文是《从零开始的 JSON 库教程》的第三个单元解答编。解答代码位于 json-tutorial/tutorial03_answer。 1. 访问的单元测试 在编写单元测试时,我们故意先把值设为字符串,那么做可以测试设置其他类型时,有没有调用 lept_free() 去释放内存。 static void test_access_boolean() {

  • 问题内容: 我有一个将存储Number对象的列表。该列表将通过分析字符串列表来填充,其中每个字符串都可以表示Number的任何子类。 如何将字符串解析为通用数字,而不是特定的整数或浮点数? 问题答案: 数字不能实例化,因为它是抽象类。我建议传入数字,但是如果您设置为字符串,则可以使用任何子类来解析它们, 要么 @请参阅NumberFormat

  • 这就是问题所在: 我有一些带有旅行信息的. csv文件,日期显示为字符串(每一行代表一次旅行): “1-5月和10-12月的所有星期一。6-9月的所有日子” 我必须将字符串解析为日期,并为每次旅行将其保存到一个数组中。 问题是我不知道怎么做。甚至我的大学老师也告诉我,他们不知道如何做到这一点:S。我无法使用http://docs.oracle.com/javase/6/docs/api/java/

  • 问题内容: 我有以下Json字符串 我正在尝试解析它并打印出每个名称和值-最简单的方法是什么?我尝试了jQuery.parseJSON但我不知道如何使用它 示例代码会很棒 问题答案: 结果是: jsFiddle示例:http://jsfiddle.net/bradchristie/XtzjZ/1/

  • 主要内容:Jsoup 解析字符串 语法,Jsoup 解析字符串 说明,Jsoup 解析字符串 示例以下示例将展示将 HTML 字符串解析为 Document 对象。 Jsoup 解析字符串 语法 document : 文档对象代表 HTML DOM。 Jsoup : 解析给定 HTML 字符串的主类。 html : HTML 字符串。 Jsoup 解析字符串 说明 parse(String html) 方法将输入的 HTML 解析为一个新的 Document。该文档对象可用于遍历和获取 htm

  • 问题内容: 将sql字符串解析成单独的组件的好方法是什么。我尝试过使用正则表达式,但是无法使其正常工作。 例如说: 将创建一个包含所有组件的数组 等等… 谢谢 问题答案: 我会选择一个可以与您的语言集成的sql解析器:不要重新发明轮子。 我没有特别推荐一个人,但是我敢肯定,您会找到一个可以满足您需求的人。 参见相关文章:PHP MySQL SQL解析器(INSERT和UPDATE)