【 学习探索过程中记下的点点笔记,以供分享,欢迎大家一起学习探讨~如有雷同可附链接,谦虚学习!】
题目:
某公司1到12月份的销售额存在一个对象里面,如下:
{1:123,2:456,5:789},请将数组处理为如下结构
[123,456,null,null,789,null,null,null,null,null,null,null]
解题思路:
方法一:
创建一个长度为12的空数组,遍历这个空数组,索引号+1的值如果在obj中有对应值即可赋值。
let obj = {
1:123,
2:456,
5:789
};
let arr = new Array(12).fill(null).map((item, index) => {
return obj[index +1] || null;
});
console.log(arr);
运行结果如图
方法二:
将对象长度设置为13,生成数组后如下:
再删除第一项元素(undefined),最后将数组中所有的undefined转化为null即可。
补充:
slice(1)规定从索引号为1的位置开始选取元素。
let obj = {
1:123,
2:456,
5:789
};
obj.length = 13;
let arr = Array.from(obj).slice(1).map((item) => {
return typeof item === 'undefined' ? null : item;
});
console.log(arr);
运行结果如图