【问题标题】:How to make each new line into a list in JS如何在JS中将每一行变成一个列表
【发布时间】:2021-09-12 02:11:06
【问题描述】:

例如,假设我有一个如下所示的对象:

data {
    second minute hour
    dog cat horse
    apple orange strawberry
}

我将如何解析 fields{} 字典并将每一行转换为它自己的数组/列表。 我希望我的输出看起来像这样:

data {
    [one: second, two: minute, three: hour]
    [one: dog, two: cat, three: horse]
    [one: apple, two: orange, three: strawberry]
}

我怎样才能做到这一点?

【问题讨论】:

  • 在 Python 中,它是一个字典。在 JS 中,它被称为对象。
  • 这些不是有效的 javascript,如果您想要有意义的答案,您需要进行编辑
  • 实际上是对象还是数组?

标签: javascript arrays json list


【解决方案1】:

使用您编写的语法是不可能的,但如果您将数据 obj 包装为字符串,则有可能! (使用模板字符串,因为您也可以使用它传递变量)

见 =>

const orange = "orange";

let data = ` {
second minute hour
dog cat horse
apple ${orange} strawberry
}`;

data = data.replaceAll('{', "");
data = data.replaceAll('}', "");
data = data.trim().split('\n');


let final_data = {};
data.forEach((val, index) =>  final_data[index] = val.trim().split(' '));
data = final_data;
final_data = {};
console.log(data);

【讨论】:

    【解决方案2】:

    你可以使用split():

    const data = [
        "second minute hour",
        "dog cat horse",
        "apple orange strawberry"
    ];
    let result = [];
    data.forEach(item => {
      let s = item.split(" ");
      result.push({
        one: s[0],
        two: s[1],
        three: s[2]
      });
    });
    console.log("Full result:", result);
    console.log("More specific:", result[2].two);

    【讨论】:

      猜你喜欢
      • 2019-10-27
      • 1970-01-01
      • 2018-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多