📜  剃刀列表到 js 数组 - Javascript (1)

📅  最后修改于: 2023-12-03 14:50:22.517000             🧑  作者: Mango

剃刀列表到 js 数组 - Javascript

当涉及到在Javascript里用剃刀刀列表时,可能需要把它们转化为js数组。这个过程并不难,只需要一些简单的代码,就可以将剃刀列表转换为js数组。

方法

下面是将剃刀列表转换为js数组的方法:

const razorList = `
- Safety Razor
  - Double Edge Razor
  - Single Edge Razor
- Straight Razor
`;

const razorArray = razorList.split("\n").filter(item => item !== "").map(item => {
  let razorObj = { name: "", subrazors: [] };
  if(item.startsWith("- ")) {
    razorObj.name = item.replace("- ", "");
    return razorObj;
  }
  else if(item.startsWith("  - ")) {
    razorObj.subrazors.push(item.replace("  - ", ""));
    return razorObj;
  }
});

console.log(razorArray);

这个代码通过下述三个步骤来完成剃刀列表到js数组的转换:

  1. 首先将剃刀列表作为字符串存储在一个变量里,每一行都以\n为分隔符。
  2. 接着,使用split()方法将字符串分割成字符串数组,并删除其中的空行。
  3. 最后,利用map()方法迭代每一个字符串,并将其转换成一个Javascript对象,该对象包括一个name属性和一个subrazors属性。 如果该字符串以- 开头,则表示该对象是主剃刀,它的name属性将被赋值为该字符串除去- 之后的部分,并返回该对象。如果该字符串以 -开头,则表示该对象是次级剃刀,它将被添加到上一个主剃刀的subrazors属性中。
返回示例
# 剃刀列表到 js 数组 - Javascript

当涉及到在Javascript里用剃刀刀列表时,可能需要把它们转化为js数组。这个过程并不难,只需要一些简单的代码,就可以将剃刀列表转换为js数组。

## 方法

下面是将剃刀列表转换为js数组的方法:

```javascript
const razorList = `
- Safety Razor
  - Double Edge Razor
  - Single Edge Razor
- Straight Razor
`;

const razorArray = razorList.split("\n").filter(item => item !== "").map(item => {
  let razorObj = { name: "", subrazors: [] };
  if(item.startsWith("- ")) {
    razorObj.name = item.replace("- ", "");
    return razorObj;
  }
  else if(item.startsWith("  - ")) {
    razorObj.subrazors.push(item.replace("  - ", ""));
    return razorObj;
  }
});

console.log(razorArray);

这个代码通过下述三个步骤来完成剃刀列表到js数组的转换:

  1. 首先将剃刀列表作为字符串存储在一个变量里,每一行都以\n为分隔符。
  2. 接着,使用split()方法将字符串分割成字符串数组,并删除其中的空行。
  3. 最后,利用map()方法迭代每一个字符串,并将其转换成一个Javascript对象,该对象包括一个name属性和一个subrazors属性。 如果该字符串以- 开头,则表示该对象是主剃刀,它的name属性将被赋值为该字符串除去- 之后的部分,并返回该对象。如果该字符串以 -开头,则表示该对象是次级剃刀,它将被添加到上一个主剃刀的subrazors属性中。
结论

通过以上方法,我们可以轻松地将剃刀列表转换为Javascript数组,从而更好地在我们的应用程序中使用它们。