javascript - 将对象键转为数组索引并返回一个新数组
问题描述
我试图解决这个问题,我有一个包含键值对的对象,并寻找一种将每个键分配给特定索引并返回新数组的方法。请注意:未找到键时,索引应分配为 0,因为它从 1 到 12 开始,而不是在索引 0 处。
var obj = {
4: 7,
6: 8,
7: 6,
8: 8,
9: 3,
10: 6,
11: 4,
12: 3
};
结果将是:
var output = [0, 0, 0, 7, 0, 8, 6, 8, 3, 6, 4, 3];
谢谢你的帮助。
解决方案
您可以使用Array.prototype.map
. 更多关于地图
var obj = {
4: 7,
6: 8,
7: 6,
8: 8,
9: 3,
10: 6,
11: 4,
12: 3
};
let a = [];
Object.keys(obj).map(val => a[val-1] = obj[val]);
a = Array.from(a, i => i || 0);
console.log(a);
推荐阅读
- javascript - 如何在 JqueryUI 中选择一个 div 作为可调整大小的选择器
- asp.net-core - 在 Blazor Webassembly 中访问表单发布值
- jquery - 如何在jQuery中将元素包装在父级中
- c# - 在 netstandard2.0 库中使用 HttpClientFactory 无需访问 ServicesCollection
- amazon-web-services - How to get the subnet id for existing vpc subnet in cloudformation
- python - Python Excel将单元格样式从一个复制到另一个openpyxl
- c# - dotnet_diagnostic.CA1062.severity = error 只产生警告
- nuxt.js - 视频自动播放在 vue-slick-carousel 中不起作用
- ios - 添加到出口集合的问题
- python - 如何计算可靠性图的置信度?