首页 > 解决方案 > 如何在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中做到这一点?

标签: javascriptarraysstringobjectiteration

解决方案


如果你已经明确定义了键的样子,你可以使用这样的东西。

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)


推荐阅读