原文:处理下面的数据,得到所要求的数据结构 - 每天一个JavaScript小知识@Js中文网 · 码农进阶题库

原文地址:https://www.javascriptc.com/interview-tips/zh_cn/javascript/deal-with-data-structure/

题目描述:

某公司 1 到 12 月份的销售额存在一个对象里面,如下:{1:222, 2:123, 5:888},请把数据处理为如下结构:[222, 123, null, null, 888, null, null, null, null, null, null, null]。

解题:

  • 思路一:

运用 Array.from 先把所需要的数组生成出来

let obj = { 1: 222, 2: 123, 5: 888 };
const result = Array.from({ length: 12 }).map(
  (_, index) => obj[index + 1] || null
);
console.log(result);
  • 思路二:
function arrToObject(obj) {
  let arr = [];
  for (let i = 0; i < 12; i++) {
    arr.push(null);
    for (let key in obj) {
      if (key == i + 1) {
        arr.splice(i, 1, obj[key]);
      }
    }
  }
  return arr;
}
let obj = { 1: 222, 2: 123, 5: 888 };
  • 思路三:

:point_down:~~~~ 欢迎在下方评论补充你的答案,一起来学习~:pushpin:

扩展阅读: