31,“米兰达”=> 28 } 我这样做了: const class = ne-6ren">
gpt4 book ai didi

javascript - 如何将字符串转换为 map ?

转载 作者:行者123 更新时间:2023-12-02 18:48:59 24 4
gpt4 key购买 nike

我需要将字符串格式化为:

string = "John:31,Miranda:28"

在此;

obj = {“约翰”=> 31,“米兰达”=> 28 }

我这样做了:

const class = new Map();
array = string.split(",");

显然我不知道如何处理它,因为分割后我得到这样的东西:

["John:31", "Miranda:28"]

而且我不知道如何将它变成一个对象(使用“:”作为箭头)......也许我不需要使用数组作为中介?有什么想法吗?谢谢

最佳答案

您可以使用 split 按逗号拆分,然后对结果字符串使用 map 再次按冒号拆分,并将生成的数组数组输入到 >Map 构造函数。

例如,如果您希望 map 由名称作为键,我怀疑您会这样做:

const string = "John:31,Miranda:28"
const map = new Map(string.split(",").map(entry => entry.split(":")));
console.log(map.get("John")); // "31" (a string)

如果您希望数字为数字,而不是字符串,则需要将它们转换为:

const string = "John:31,Miranda:28"
const map = new Map(string.split(",").map(entry => {
const parts = entry.split(":");
parts[1] = +parts[1];
return parts;
}));
console.log(map.get("John")); // 31 (a number)

My answer here详细介绍从字符串转换为数字的选项。

<小时/>

如果您希望 map 按值键控(我怀疑您不这样做,但是......),您只需反转内部数组条目的顺序即可:

const string = "John:31,Miranda:28"
const map = new Map(string.split(",").map(entry => {
const [name, num] = entry.split(":");
return [num, name];
}));
console.log(map.get("31")); // John

关于javascript - 如何将字符串转换为 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57348031/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com