javascript - 如何将包含空格的字符串转换为有组织的对象
问题描述
我想从此文本中删除所有空格,然后将结果组织到对象中
var notOrganizedObj = {
"06fe562bc26ad23ec2a717c893ccc4407297de136b2761a035e80eea75637d3c-0" : " ENABLED 10035 mYkSVf9AcAMCScw91kcPBiKawe51LYzJRP 8.9.30.2:19662 1557196699 4242543 1557188820",
"0282ab652d149e092051df77db70187efe5d3e61ed714a9a4efa69d0cc4452a5-0" : " ENABLED 10035 mMni8ALvkdUHN3jxgHnhJ99S2VthctFbM4 8.9.30.12:19662 1557196829 3169507 1557194872",
}
我试过这个
Object.keys(masternodelist).map(function(key, index) {
var list = masternodelist[key].split(' ', '')
console.log(masternodelist[key])
});
所以我可以拆分键的值然后一些如何添加到我的对象中的自定义键
预期的结果是这样的
[{
"address": "94.177.163.40:4836",
"tx": "06fe562bc26ad23ec2a717c893ccc4407297de136b2761a035e80eea75637d3c",
"payee": "WNijK2poAXXoEPp87YT1paWBGsTJYaQhcL",
"status": "ENABLED",
"protocol": 70210,
"daemonversion": "0.12.3.3",
"sentinelversion": "1.1.0",
"sentinelstate": "current",
"lastseen": 1557198027,
"activeseconds": 4705452,
"lastpaidtime": 1557181730,
"lastpaidblock": 184934
},
{
"address": "95.179.229.205:4836",
"tx": "0282ab652d149e092051df77db70187efe5d3e61ed714a9a4efa69d0cc4452a5",
"payee": "WcpfARQfyE4SfzLacehgoRrjxQg3wK3YBY",
"status": "ENABLED",
"protocol": 70210,
"daemonversion": "0.12.3.3",
"sentinelversion": "1.1.0",
"sentinelstate": "current",
"lastseen": 1557198094,
"activeseconds": 8397933,
"lastpaidtime": 1556925620,
"lastpaidblock": 180869
}]
解决方案
老实说,我不能给你一个完整的答案,因为许多键/属性都丢失了,我不知道如何获得其余的值。
但基本上,我建议您遍历对象,将字符串拆分为字符串数组(.filter(i => i)
删除数组中的空字符串 ''),然后将它们映射到您想要的结果中。
我建议你这样做:
const notOrganizedObj = {
"06fe562bc26ad23ec2a717c893ccc4407297de136b2761a035e80eea75637d3c-0": " ENABLED 10035 mYkSVf9AcAMCScw91kcPBiKawe51LYzJRP 8.9.30.2:19662 1557196699 4242543 1557188820",
"0282ab652d149e092051df77db70187efe5d3e61ed714a9a4efa69d0cc4452a5-0": " ENABLED 10035 mMni8ALvkdUHN3jxgHnhJ99S2VthctFbM4 8.9.30.12:19662 1557196829 3169507 1557194872",
}
const res = [];
for (let key in notOrganizedObj) {
const wordList = notOrganizedObj[key].split(' ').filter(i => i);
res.push({
address: wordList[3],
tx: key.split('-')[0],
payee: '',
status: wordList[1],
protocol: '',
daemonversion: '',
sentinelversion: '',
sentinelstate: '',
lastseen: '',
activeseconds: '',
lastpaidtime: '',
lastpaidblock: ''
})
}
console.log(res);
推荐阅读
- ios - 线程 1:信号 SIGABRT,没有不完整的出口 AFAIK
- apache-spark - 如何使用火花同时处理多个文件
- html - 如何从 S3 网站托管中的 url 中删除 index.html?
- php - 如何应用 bcrypt 以及如何获取数据
- objective-c - 创建 zip 文件时出现异常
- android - 1-加载 AppCompat ActionBar 失败,出现未知错误。2-在当前主题中找不到样式“floatingActionButtonStyle”
- java - WebDriver Error InvalidArgumentException: Missing 'type' parameter' when using implicitlyWait
- wpf - WPF 框架和页面获取事件
- swift - 如何摆脱 UIStoryboard 中表格视图单元格下方的边框?
- azure-functions - 这是 Application Insight / Azure Functions 错误吗?或者我的理解不正确