javascript - 将包含字符串的数组转换为键值对
问题描述
我有一个字符串“101-2000-10-102-2000-15”,我必须将其映射为键:101 个值:{2000, 10}。使用下面的代码,我可以获得 101 => 2000 的输出,但我无法获得剩余的值。这是代码:
let myString = "101-2000-10-102-2000-15"
let strArray = myString.match(/[^-]+-[^-]+-[^-]+/g);
console.log(strArray);
let compartmentMap = new Map(strArray.map(x => x.split("-")));
console.log(compartmentMap);
我的输入:“101-2000-10-102-2000-15” 所需输出:{101 => {2000,10}, 102 => {2000,15}}
解决方案
您还需要获取一组值。
let myString = "101-2000-10-102-2000-15"
let strArray = myString.match(/[^-]+-[^-]+-[^-]+/g);
console.log(strArray);
let compartmentMap = new Map(strArray.map(x => {
const [k, ...v] = x.split("-");
return [k, v];
}));
console.log(Array.from(compartmentMap));
推荐阅读
- amazon-web-services - 如何在 AWS 云形成中引用嵌套堆栈资源?
- ios - 在另一个圆形 UIView 中移动一个圆形 UIView
- python - Scikit-fuzzy 得到错误引发 ValueError("Unexpected input: " + key)
- python - 如何将 tensorflow.keras 模型移动到 GPU
- reactjs - 将 app.js 从 create-react-app 转换为 react native,得到错误 Invariant Violation
- python - 带有早期条件检查的列表理解
- json - 使用 apoc.periodic.commit 将无尽的 json 流插入 neo4j
- html - 按下“JSON 删除按钮”后,数据会在几秒钟后重新出现
- javascript - 如何同时使用两个 onkeydown 事件?
- npm - 抑制单行多命令 Makefile 配方的输出