JS之对象转成指定数组

【 学习探索过程中记下的点点笔记,以供分享,欢迎大家一起学习探讨~如有雷同可附链接,谦虚学习!】

题目:
某公司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);

运行结果如图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值