javascript - 在对象中创建一个具有不同数组元素的新数组
问题描述
我有这个对象,里面有 2 个数组,如何创建一个新数组,其中 array1 中的每个元素与 array2 中的对应元素不同。例如这里结果数组应该是
["$1", "$5", "$6"]
{
"2": ["$3","$4","$8"],
"3": ["$4","$9","$2"]
}
解决方案
您可以使用地图轻松实现此结果
- 首先,您需要从两个数组中获取相同索引处的元素
- 将它们转换为
Number
类型 - 获取差异但一定要使用
Math.abs
获取绝对值。 - 通过在它之前添加返回结果
$
。
const obj = {
"2": ["$3", "$4", "$8"],
"3": ["$4", "$9", "$2"],
};
const result = obj["2"].map((el, i) => {
// First Step
const first = obj["2"][i];
const second = obj["3"][i];
// Second Step
const regex = /\d+/;
const firstNumber = parseInt(first.match(regex));
const secondNumber = parseInt(second.match(regex));
// Third Step
const diff = Math.abs(firstNumber - secondNumber);
// Fourth step
return `$${diff}`;
});
console.log(result);
推荐阅读
- python - 当屏幕在主 .kv 文件中管理时,如何从 .py 文件切换屏幕?
- go - Go Mux Middlware 不使用我的 CORS 处理程序
- javascript - 在javascript中创建按钮onclick事件
- python - pyTelegramBotAPI get_updates() 函数
- pulp - 为什么纸浆问题的解变量不是整数?
- datadog - 尽管在编辑屏幕上可视化,Datadog 监视器是否精确到分钟?
- postgresql - Postgres 13 中列和表的依赖关系跟踪
- sql - 如何使用 postgres 从 geom 列添加质心列?
- velo - 在 wix 网站上哪里可以找到我的后端文件?
- html - 图像未在 chrome 中调整大小