数组降维

作者: Dl_毛良伟 | 来源:发表于2017-07-24 23:57 被阅读40次

如何将二维数组降到一维数组?

  • 一 . 我们可以利用双重循环

let dimensionalityReduction = [];
for (let i in arrey){
  for(let j in arrey[i]){
    dimensionalityReduction.push(arrey[i][j]);
  }
}

dimensionalityReduction即为降维后的一维数组.

  • 二 . 利用concat转换

1.concat的作用: 如果concat方法的参数是一个元素,该元素会被直接插入到新数组中;如果参数是一个数组,该数组的各个元素将被插入到新数组中.
let dimensionalityReduction = [];
for (let i in arrey){
  dimensionalityReduction.concat(arrey[i]);
}

arrey的每一个元素都是一个数组,作为concat方法的参数,数组中的每一个子元素又都会被独立插入进新数组。
利用concat方法,我们将双重循环简化为了单重循环。

2.concat的第二个作用: concat()方法用于合并两个或更多个数组。此方法不会更改现有的数组,而是返回一个新的数组。
var arr1 = ['a', 'b', 'c'];
var arr2 = ['d', 'e', 'f'];

var arr3 = arr1.concat(arr2);

// arr3 is a new array [ "a", "b", "c", "d", "e", "f" ]
  • 三 . 利用apply和concat转换

    apply方法

apply是所有函数都有的方法.它的签名如下:
func.apply(thisValue, [arg1, arg2, ...])
如果不考虑thisValue的影响,上面的调用等同于:
func(arg1, arg2, ...)
也就是说,apply允许我们将一个数组"解开"成为一个个的参数再传递给调用函数.

let dimensionalityReduction = [];
dimensionalityReduction =  Array.prototype.concat.apply([], arrey);
  • apply方法会调用一个函数,apply方法的第一个参数会作为被调用函数的this值,apply方法的第二个参数(一个数组,或类数组的对象)会作为被调用对象的arguments值,也就是说该数组的各个元素将会依次成为被调用函数的各个参数
  • arrey作为apply方法的第二个参数,本身是一个数组,数组中的每一个元素(还是数组,即二维数组的第二维)会被作为参数依次传入到concat中,效果等同于[].concat([1,2], [3,4], [5,6])。
    利用apply方法,我们将单重循环优化为了一行代码,

相关文章

  • C语言数组的升维与降维之说

    C语言数组的升维与降维之说 C语言数组的升维 C语言数组的降维

  • 数组降维

    如何将二维数组降到一维数组? 一 . 我们可以利用双重循环 dimensionalityReduction即为降维...

  • 数组降维

    2019-03-07-09:46于公司 思路:数组转为字符串,然后转为数组关键点在于如何将数组转字符串!!! 比如...

  • swift 高阶函数

    1. flatMap 降纬 组成一个新的一维数组 tip:可以将二维数组转化为一维数组,如果有空值则不会降纬 2....

  • 多维数组的地址问题

    多维数组地址问题采取降维的思想,n维数组的元素为n-1维数组,n维数组名为其元素的首地址。 http://www....

  • JS数组降维--Array.prototype.concat.a

    二维数组降为一维数组 循环降维 此方法思路简单,利用双重循环遍历二维数组中的每个元素并放到新数组中。 concat...

  • js数组降维

    二维数组降一维 先看代码: 推荐直接使用apply()数组中的每一个元素(还是数组,二维数组的第二维)会被作为参数...

  • PCA 主成分分析

    主成分根据,多维字段分析降维成几个成分 多维数组降维 几个特征向量对应几个特征空间

  • [转]数组降维

    1.朴素转换 2.concat数组拼接 3.apply(thisArg,[argsArray]) 原文地址

  • js数组降维

    数组降维 1). Array.prototype.concat.apply([],arr) 通过采用的是apply...

网友评论

本文标题:数组降维

本文链接:https://www.haomeiwen.com/subject/iapikxtx.html