首页 > 其他分享 >多维数组转变为一维数组

多维数组转变为一维数组

时间:2023-06-15 19:11:28浏览次数:37  
标签:console 数组 res2 let 一维 多维 concat

1·join和split

join将数组拼接为字符串  split将字符串转变为数组

结果的元素为字符串,可通过map遍历处理每一项

1     let temp = [1, [2, 3], [4, 5, [6, 7]]];
2     let res = temp.join(',').split(',')
3     let res2 = res.map((val, idx) => {
4       return Number(val)
5     })
6     console.log(res)
7     console.log(res2)

 2· 递归

 1    let temp = [1, [2, 3], [4, 5, [6, 7]]];
 2     let target = []
 3     let fn = (source) => {
 4       for (let i of source) {
 5         if (Array.isArray(i)) {
 6           fn(i)
 7         } else {
 8           target.push(i)
 9         }
10       }
11     }
12     fn(temp)
13     console.log('递归多维数组', target)

 3·多维数组concat

1     let array = ['1', 2, [3, 4, [5, 6]], 7];
2     let res2 = array.reduce((pre, cur) => {
3       return pre.concat(cur)
4     }, [])
5     console.log('多维数组concat', res2)

 所以:concat只适合二维数组

1     let array = ['1', 2, [3, 4], 7];
2     let res2 = array.reduce((pre, cur) => {
3       return pre.concat(cur)
4     }, [])
5     console.log('多维数组concat -- 二维', res2)

 

标签:console,数组,res2,let,一维,多维,concat
From: https://www.cnblogs.com/xingnizhiren/p/17483480.html

相关文章

  • 数组去重的5种方法
    1·newSet解构letres1=[...newSet(arAr)]2·newSet Array.fromletres2=Array.from(newSet(arAr))3·for循环splice1letfn=(array)=>{2for(leti=0;i<array.length;i++){3for(letj=i+1;j<array.length;j++){......
  • javaScript 对象与数组参考
    javaScript对象与数组参考本文列举了各种JavaScript对象与数组,同时包括对上述每一对象或数组所完成工作的简短描述,以及与其相关的属性方法,以及事件处理程序,还注明了该对象或数组的父对象用户同样可能需要参考OnlineCompanion中的超级文本ObjectHierarchy页面(http://ww......
  • 浅谈C语言指针的运用(函数与指针、数组与指针)
    1.函数与指针一个函数在编译以后会占用一定的内存,在c语言中函数一般是在栈里面,而函数名就是函数在栈中的首地址。那么接下来会讲解如何通过指针调用函数呢?用指针调用函数我们称为函数指针,指针作为一种数据类型,它指向或引用内存中的数据,那么指针同样可以用来存储函数地址(起始地址......
  • 【LeetCode双指针】合并两个有序数组,从后向前遍历
    合并两个有序数组https://leetcode.cn/problems/merge-sorted-array/给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数......
  • 【剑指Offer】13、调整数组顺序使奇数位于偶数前面
    【剑指Offer】13、调整数组顺序使奇数位于偶数前面题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。解题思路:首先,如果不考虑奇数和奇数,偶数和偶数......
  • 【剑指Offer】6、旋转数组的最小数字
    【剑指Offer】6、旋转数组的最小数字题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组......
  • 数组
    数组指在连续内存空间中存储一组相同类型的元素数组通过索引实现访问O(1)数组通过遍历整个数组来实现搜索O(N)插入和删除的时间复杂度都是O(N)特点是适合读不适合写1.创建数组2.添加元素3.访问元素4.修改元素5.删除元素6.遍历数组7.查找元素8.数组的长度9.数组排序 4......
  • [C++/PTA] 有序数组(类模板)
    题目要求实现一个类模板,它可以接受一组数据,能对数据排序,也能输出数组的内容。每行输入的第一个数字为0,1,2或3:为0时表示输入结束;为1时表示将输入整数,为2时表示将输入有一位小数的浮点数,为3时表示输入字符。如果第一个数字非0,则接下来将输入一个正整数,表示即将输入的数据的数量......
  • HLS - 数组优化
    参考https://blog.csdn.net/zhangningning1996/article/details/107444387https://blog.csdn.net/pc153262603/article/details/106385483https://www.xilinx.com/htmldocs/xilinx2017_4/sdaccel_doc/eil1504034361560.html1.空间复杂度程序的两个衡量指标:时间复杂度......
  • 数组的扁平化
    请编写一个函数,它接收一个 多维数组 arr和它的深度n,并返回该数组的 扁平化 后的结果。多维数组 是一种包含整数或其他 多维数组 的递归数据结构。数组扁平化是对数组的一种操作,定义是将原数组部分或全部子数组删除,并替换为该子数组中的实际元素。只有当嵌套的数组深......