【问题标题】:Convert String into Array of Objects: JS将字符串转换为对象数组:JS
【发布时间】:2023-01-12 11:22:57
【问题描述】:

我有以下字符串:

const str = "Tuba|203488|Music Theory|301071"

我想将它转换为一个对象数组,如下所示:

[
{specialty: "Tuba",
userid:203488},
{specialty: "Music Theory",
userid:301071}
]

我怎样才能在 javascript 中做到这一点?

【问题讨论】:

  • 钥匙是从哪里来的?到目前为止你做了什么努力?

标签: javascript arrays json mapping javascript-objects


【解决方案1】:

您可以通过管道拆分字符串,然后遍历结果数组,递增 2,将对象添加到最终结果数组:

const str = "Tuba|203488|Music Theory|301071"

const result = [];

const arr = str.split("|");

for (let i = 0; i < arr.length; i+=2) {
  result.push({ specialty: arr[i], userId: arr[i+1] });
}

console.log(result);

【讨论】:

    【解决方案2】:

    你可以这样做:

    function createArrayFromString(str) {
      const strArray = str.split("|")
      let results = []
    
      for (let i=0; i<strArray.length; i+=2) {
        results.push(
          {
            speciality: strArray[i],
            userid: strArray[i+1]
          }
        )
      }
      return results
    }
    
    const str = "Tuba|203488|Music Theory|301071"
    console.log(createArrayFromString(str))
    // [
    //   { speciality: 'Tuba', userid: '203488' },
    //   { speciality: 'Music Theory', userid: '301071' }
    // ]
    

    【讨论】:

      猜你喜欢
      • 2019-03-14
      • 2012-05-08
      • 2019-12-17
      • 2020-05-07
      • 2021-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多