【问题标题】: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' }
// ]