首先,不好意思,我昨天偷懒了,没有更新面试题,今日补上昨日的锅。
基于上次的对象转化题目,不少同学指出对象种的数组如果长度不一样,不能满足功能,所以针对这个进行优化,代码如下所示:
<script> let obj = { 0: [44, 67], 1: [90, 43, 56], 2: [56, 67, 33], 3: [80, 96, 45] }; function getArr(obj) { if (typeof obj != "object") { console.warn("参数不正确"); return; } const arr = []; // 遍历对象的每一个对象 for (var item in obj) { if (obj.hasOwnProperty(item) === true) { // map取对象每一个total对应的值取赋值 obj[item].map((i, index) => { if (!arr[index]) { arr[index] = []; } arr[index].push(obj[item][index]); }); } } return arr; } console.log(getArr(obj)); </script>