user470018 Asked:2024-09-23 00:30:40 +0000 UTC2024-09-23 00:30:40 +0000 UTC 2024-09-23 00:30:40 +0000 UTC 如何将字符串解析为键/值? [关闭] 772 我不明白如何从这一行: "ST00012|Name=Мр"Водоканал"|PersonalAcc=40702813070000012а3456|BankName=Банк" 您可以获得一个键/值对象 javascript 1 个回答 Voted Best Answer Oliver Patterson 2024-09-23T02:01:14Z2024-09-23T02:01:14Z 让我们将原始字符串拆分为|- 这就是我理解 key=value 之间的除数的方式。 输出将类似于: ['ST00012', 'Name=Мр "Водоканал"', 'PersonalAcc=40702813070000012а3456', 'BankName=Банк'] 接下来,我们需要遍历这个数组,并对分隔键和值的split数组中的每个元素再进行一次,并将其全部写入一个对象中 - 我们在.reduce()中完成所有这些操作= const rawString = 'ST00012|Name=Мр "Водоканал"|PersonalAcc=40702813070000012а3456|BankName=Банк'; const parsedObject = rawString.split("|").reduce((acc, item) => { const [key, value] = item.split("="); acc[key] = value; return acc; }, {}) console.info(parsedObject) 第二个选项,没有值的键将不会被添加。 const rawString = 'ST00012|Name=Мр "Водоканал"|PersonalAcc=40702813070000012а3456|BankName=Банк'; const parsedObject = rawString.split("|").reduce((acc, item) => { const [key, value] = item.split("="); if (value !== undefined) { acc[key] = value; } return acc; }, {}) console.info(parsedObject)
让我们将原始字符串拆分为
|- 这就是我理解 key=value 之间的除数的方式。输出将类似于:
['ST00012', 'Name=Мр "Водоканал"', 'PersonalAcc=40702813070000012а3456', 'BankName=Банк']接下来,我们需要遍历这个数组,并对分隔键和值的
split数组中的每个元素再进行一次,并将其全部写入一个对象中 - 我们在.reduce()中完成所有这些操作=第二个选项,没有值的键将不会被添加。