javascript - 如何在javascript中将字符串转换为对象数组
问题描述
我想将此字符串转换为对象数组。
这是我的字符串
var a = 'SG 925|AMD-MAA|19:15|21:40|SG 703|VNS-BOM|19:45|22:05';
我想这样转换
[
{'name':'SG 925','place':'AMD-MAA','from':'19:15','to':'21:40'}
{'name':'SG 703','place':'VNS-BOM','from':'19:45','to':'22:05'}
]
这是我迄今为止尝试过的
var a = 'SG 925|AMD-MAA|19:15|21:40|SG 703|VNS-BOM|19:45|22:05';
a = a.split("SG ");
a = a.filter(function(e){return e});
console.log(a);
我怎么能在javascript中做到这一点?
解决方案
如果你已经明确定义了键的样子,你可以使用这样的东西。
var a = 'SG 925|AMD-MAA|19:15|21:40|SG 703|VNS-BOM|19:45|22:05'
const arr = a.split('|')
const objArr = []
for (var i = 0; i < arr.length; i+=4) {
objArr.push({
name: arr[i],
place: arr[i+1],
from: arr[i+2],
to: arr[i+3]
})
}
console.log(objArr)
推荐阅读
- android - 如何在 Fragment 中使用 MotionLayout?
- c# - 从现有报告制作新的 devexpress 报告
- python - APScheduler 跳过作业并在其他时间运行
- listview - Xamarin:使用 MVVM 的分组 ListView 不绑定删除命令
- expressiveannotations - 将模型的属性用于 requiredif 语句而不将其放入实际的 DOM
- xml - 使用 F# XMLProvider 解析带有命名空间的 XML
- javascript - Javascript:使用第一个属性对对象数组进行排序,并在与另一个属性相等时排序
- php - 通过 php 变量使用 getElementById
- jenkins - Kubectl 删除但忽略有错误的
- node.js - ReferenceError:当我推送 Heroku 时未定义要求