精华内容
下载资源
问答
  • 2019-04-30 17:59:00

    function reduceArray($array) {
    $return = [];
    array_walk_recursive($array,
    function ($x) use (&$return)
    { $return[] = $x; }
    );
    return $return;
    }

    转载于:https://www.cnblogs.com/beili/p/10797485.html

    更多相关内容
  • 多维数组变成一维数组

    万次阅读 2018-07-21 01:07:23
    这个问题来源于一个朋友曾经问过我的问题,当时是一个二维数组变成一维数组。后面我想整理一下,整理一个多维,并且是不定维的数组。 一、二维数组变成一维数组 1、遍历数组,将元素一个个放入新数组 结果: ...

    这个问题来源于一个朋友曾经问过我的问题,当时是一个二维数组变成一维数组。后面我想整理一下,整理一个多维,并且是不定维的数组。

    一、二维数组变成一维数组

    1、遍历数组,将元素一个个放入新数组

    结果:

    如果元素不是数组,将会报错。下面是改良版:

    这样的方法仍显臃肿

    2、用apply的特性,将数组作为参数展开

    concat接受单个值作为参数,所以不需要识别。

    3、利用es6新增的扩展运算符将数组展开

    与concat类似。

    比较推荐扩展运算符的方法,书写简洁。

    二、多维数组变成一维数组

    多维数组变成一维,就是在二维变成一维的基础上递归调用。

    代码如下:

    1、遍历每一个元素,先判断再处理

    2、reduce方法

    2018-9-26新增:三、es6新增的flat及flatMap方法

    es2018为数组实例新增了flat及flatMap方法,用于将二维 或者多维数组拉平成一维数组。

    flat方法默认没有参数,这时只会降维降一层。可以传数字类型的参数指定降维次数。

    flat方法不改变原数组。

    如果想将任意维度的数组变成一位数组,可以传入Infinity。

     

    flatMap()方法,参数是一个回调函数,类似map方法的使用,数组的每个元素执行一次回调函数,然后对返回的数组执行flat()方法,只降一次维,

     

     

     

     

     

     

    展开全文
  • 本文实例讲述了PHP实现多维数组转字符串和多维数组一维数组的方法。分享给大家供大家参考。具体实现方法如下: /** * @method 多维数组转字符串 * @param type $array ...* @method 多维数组变成一维数组 * @s
  • 以上这篇python numpy 一维数组转变为多维数组的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:python二维列表一维列表的互相转换实例Python的...
  • js将多维数组变成一维数组

    千次阅读 2020-09-24 11:39:42
    一.js多维数组转换成一维数组 //1.递归:注意这个不兼容IE function arrReduce(someArr){ for(let i = 0;i< someArr.length;i++ ){ if(Array.isArray(someArr[i])){ arrReduce(someArr[i]); }else{ arrMax....

    一.js多维数组转换成一维数组
     //1.递归:注意这个不兼容IE

     function arrReduce(someArr){
        for(let i = 0;i< someArr.length;i++ ){
            if(Array.isArray(someArr[i])){
                arrReduce(someArr[i]);
            }else{
                arrMax.push(someArr[i]);
            }
        } 
     }
    let content = [1,2,3,4,5,[6,7,[8,9,10,[11,12,13]]]];
    let arrMax = [];//存放转换数组元素
    arrReduce(content);
    console.log(arrMax);

    ----------------------------------------------------------------------------------------------------------------------------------------------------------
    //2.reduce方法

    let arr1 = [1,[2,[[3,4],5],6,7,[8,9,[10,11,[12,13]]]]];
    const flatten1 = arr1 => arr1.reduce((acc,val) => acc.concat(Array.isArray(val)? flatten1(val):val),[],)
    console.log(flatten1(arr1));

    //3.数组的join()

    let arr1 = [1,[2,[[3,4],5],6,7,[8,9,[10,11,[12,13]]]]], newArray = new Array();
    //输入的一维数组全是number类型
    for(let item of arr1.join().split(",")){
         newArray.push(Number(item));
    }
    console.log(newArray);

    //4.toString

    let arrPol = [1,[2,[[3,4],5],6,7,[8,9,[10,11,[12,13]]]]], newArray = new Array();
    for(let item of arrPol.toString().split(',')){
         newArray.push(Number(item));
    }
    console.log(newArray);

    //5.空字符串''

    let arrKol = [1,[2,[[3,4],5],6,7,[8,9,[10,11,[12,13]]]]];
    let newArr = [];
    for(let item of (arrKol + '').split(',')){
         newArr.push(Number(item));
    }
    console.log(newArr);

    //6.ES6的flat(n): n非必填项,n默认是1,表示扁平化深度.

    //默认转化成一维
    console.log([1,[2,[[3,4],5],6,7,[8,9,[10,11,[12,13]]]]].flat()); // [1,2,3,3,4,5,6,7,8,9,10,11,12,13]
     
    // 指定转换的嵌套层数
    console.log([1,[2,[[3,4],5],6,7,[8,9,[10,11,[12,13]]]]].flat(2)); //[1, 2, Array(2), 5, 6, 7, 8, 9, Array(3)]
     
    // 不管嵌套多少层
    console.log([1,[2,[[3,4],5],6,7,[8,9,[10,11,[12,13]]]]].flat(Infinity)); // [1,2,3,3,4,5,6,7,8,9,10,11,12,13]
     
    // 自动跳过空位
    console.log([1, [2, , 3, ,4]].flat()); // [1, 2, 3, 4]

    总结:

           这些都是综合比较得来的,实现办法太多了,还有map(),reduce()+递归,es6新增的扩展运算符,flatMap()...前端本身就是一个在寻求更加完美的解决过程,而不是满足于某一种方式实现,我们追求近乎完美的过程中提升自我,寻找平衡。

    参考来源:

    1.多维数组变成一维数组

    2.javascript多维数组转一维数组

    3.js将多维数组转换为一维数组

    展开全文
  • 将二维数组转换为一维数组。 flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。 flat除了有扁平化嵌套数组之外还可以扁平化空项。 实例,将一个二维数组...

    flat()

    将二维数组转换为一维数组。
    flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。 flat除了有扁平化嵌套数组之外还可以扁平化空项。

    实例,将一个二维数组转换为一维数组:

    let arr=[1,2,[3,4],[5,8],9];
    let arrnew=arr.flat();
    console.log(arrnew);
    //输出结果:[1, 2, 3, 4, 5, 8, 9]
    

    实例,使用Infinity将多层次深度数组转换为一维数组

    let arr=[1,2,[3,['a','b'],4],[5,8],9];
    let arrnew=arr.flat(Infinity);
    console.log(arrnew);
    //[1, 2, 3, 'a', 'b', 4, 5, 8, 9]
    
    展开全文
  • 本文实例讲述了PHP多维数组一维数组的简单实现方法。分享给大家供大家参考,具体如下: php语言本身没有将多维数组转为一维数组的函数,但是我们可以自己写一个php函数来实现将多维转一维的功能。 运用了递归,...
  • var arr= [[1,2,3,[4,5]],6] var arr1 = [] function OneD(arr) { for(var i = 0;i<arr.length;i++){ if(arr[i] instanceof Array){ OneD(arr[i]) }else{ arr1.push(arr[i]) } } ... On
  • 今天小编就为大家分享一篇关于js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • PHP 多维数组转为一维数组

    千次阅读 2019-03-20 13:57:00
    本文章中,主要展示了两种方法来实现任意多为数组转为一维数组的方法。一个是递归,一个是利用PHP内置函数。 先设定一个数组: $arr = [ 'a' => [ 'b' => ['c', 'd'], 'e' => ['f' => ['g'], 'h' ...
  • 数组扁平化问题: var arr = [2, [3, 4], [5, [6,7], 8], 9, 0] 输出为[2,3,4,5,6,7,8,9,0] 方法1: 利用for-in的遍历机制,和递归调用 var newArr = [] function f(arr){ for(val of arr){ // console.log(val,...
  • php把多维数组变为一维数组的方法

    千次阅读 2019-04-29 12:34:13
    种方法,使用php自带的函数:array_walk_recursive: $colum = [[1, 2, 3], [4, 5, 6], [7, 8, 9=>['a','b'=>['c','d']]]]; $arr = reduceArray($colum); var_dump($arr); function reduceArray($...
  • 函数名称:array_multi2single 函数原形:array array_multi2single(array) 实现功能:把一个多维数组的数值存放到一维数组中,不保存Key。 <?php function array_multi2single($array) { static $result_array=...
  • 种方式使用字符串的方式 // 此种方法如果是数字类型的话 转换为了字符串 let tempArr = [1, [2, 3], [4, 5, [6, 7]]]; let result_str1 = tempArr.join(',').split(','); console.log(result_str1); // ["1",...
  • 主要介绍了PHP实现二维数组(或多维数组)转换成一维数组的常见方法,结合实例形式总结分析了PHP数组遍历、转换所涉及的array_reduce、array_walk_recursive及array_map函数常见使用技巧,需要的朋友可以参考下
  • 、使用foreach,递归 代码如下:<?php function arr_foreach ($arr) { static $tmp=array(); if (!is_array ($arr)) { return false; } foreach ($arr as $val ) ...
  • 1. Array.prototype.flat() 用于将嵌套的数组“拉平”,变成一维数组。该方法返回一个新数组,对原数据没有影响。 const abc = [1, 2, [3, 4,]] console.log(abc.flat()) // [ 1, 2 ,3 ,4 ] 2. 不传参数时,...
  • 方法 var arr = [1, [2,[0,[9,7,4],9], 3,[4, 5, 6]]] var newArr = [] newArr=arr.toString().split(',') console.log(newArr); toString方法 把数组转为字符串 split方法,把字符串按照指定的符号进行...
  • 二维转一维数组的方法很多,使用numpy ,sum 好多方法可以实现。 例如: arr = [[1,2,3],[4,5,6]] # 方法一 print([item for i in arr for item in i]) # 方法二 from functools import reduce print(reduce(lambdax...
  • 很多时候我们需要将多维数组转成一维数组,因为我们只需要一维数组,而且一维数组使用起来更方便,在PHP中如何将多维数组转成一维数组?下面我们来看看三个多维数组转为一维数组例子:一、使用foreachfunction arr_...
  • 方法:flat();可接受参数2,3,4.....,Infinity; 用法如下: const a = [1, 2, 3, 4, 3];... // 不传默认是二维数组降一维数组 console.log(a.concat(b).flat()); // 打印为[1, 2, 3, 4, 3, 3, 4, 5
  • 声明一维数组:var goodsArr = []; 赋值:goodsArr[0] = ‘First Value’; 这个毫无争议,因为平时使用PHP比较多,而php语法是可以直接使用goodsArr[0] = ‘First Value’; 这种方法声明数组并赋值的,但js不能这样...
  • js基础代码实现
  • // 多维数组一维数组,并去重, 排序 let arr = [1, 12, 3, [6, 5, 4], [8, 9, [7, 10, [11, 2]]], 1, 3, 5, 4] console.log(arr) // ES6中提供了array.flat()方法 // 可以将多维数组转为一维数组 // ()内默认值...
  • 今天小编就为大家分享篇Python 实现取多维数组第n的前几位,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 例如:[1, [2], [3, [4, [5]]]] ===>[1, 2, 3, 4, 5] const array = [1, [2], [3, [4, [5]]]]; function flat(array) { let arr = array.concat().join(',').split(','); let newArr=[];...
  • JavaScript必会知识 ...本篇文章主要总结了,如何将多维数组变为一维数组的方法 一、递归的方法 function f(arr){ var result = []; for (var i =0,len = arr.length;i<len;i++){ if(Array.isArray

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 76,882
精华内容 30,752
关键字:

多维数组变成一维数组

友情链接: 步进电机.rar