[英]Convert String Array to Array Object with keys and values
我想像这样转换一个字符串数组:
const arr = [
"name:Adam age:20 height:180cm",
"name:Sally age:30 height:170cm",
"name:Mike age:35 height:185cm",
"name:David age:40 height:190cm"
];
到这个包含 object 的数组,其键和值如下所示:
var obj = [
{name:'Adam', age:20, height:'180cm'},
{name:'Sally', age:30, height:'170cm'},
{name:'Mike', age:35, height:'185cm'},
{name:'David', age:40, height:'190cm'}
];
谢谢!
const arr = [ "name:Adam age:20 height:180cm", "name:Sally age:30 height:170cm", "name:Mike age:35 height:185cm", "name:David age:40 height:190cm" ] let result = arr.map(e => Object.fromEntries(e.split(' ').map(n=>n.split(":")))) console.log(result)
您可以使用数组 map 和 split 方法来获得结果。
const arr = [ 'name:Adam age:20 height:180cm', 'name:Sally age:30 height:170cm', 'name:Mike age:35 height:185cm', 'name:David age:40 height:190cm', ]; const ret = arr.map((x) => { const obj = {}; const a = x.split(' '); a.forEach((y) => { const [key, value] = y.split(':'); obj[key] = key === 'age'? +value: value; }); return obj; }); console.log(ret);
很抱歉命名不好,因为我很匆忙,但这样的事情应该会有所帮助:
s = "name:Adam age:20 height:180cm"; a = s.split(" "); c = a.map(item => { pair = item.split(":"); key = "\"" + pair[0] + "\""; value = "\"" + pair[1] + "\""; return key + ":" + value; }); s = c.join(","); s = "{" + s + "}"; o = JSON.parse(s); console.log(o)
最后o
应该是您想要的 object。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.