JavaScript二维数组转换成一维数组

快乐打工仔 分类:实例代码

本章节分享一段简单的代码实例,它实现了将二维数组转换成一维数组的功能。

当然在javascript中并没有二维数组这个概念,只能够模拟实现。

代码实例如下:

var arr = [1, [[2, 3], 4], [5, 6]];
var newAarr = [];
var flat = function (a) {
  var length = a.length;
  for (var index = 0; index < length; index++) {
    var item = a[index];
    if (typeof item == "object") {
      flat(item);
    } else {
      newAarr.push(item);
    }
  }
};
flat(arr)
console.log(newAarr);

上面的代码实现了我们的要求,下面介绍一下它的实现过程。

一.代码注释:

(1).var arr = [1, [[2, 3], 4], [5, 6]],声明一个多维数组。

(2).var newAarr = [],声明一个空的一维数组。

(3).var flat = function (a) {},声明一个函数,参数是数组,用来实现转换功能。

(4).var length = a.length,获取数组的长度。

(5).for (var index = 0; index < length; index++) {},遍历数组中的每一个元素。

(6).var item = a[index],获取对应索引的元素。

(7).if (typeof item == "object") {

  flat(item);

} else {

  newAarr.push(item);

},判断当前元素是否是一个值类型,如果如果是,则直接追加到新数组,否则继续递归遍历。

特别说明:

上面的代码是有一点点缺陷的,因为数组元素也可以是对象直接量等。这里只是一个演示而已,如果要精确判断数组元素是否是一个数组,可以参阅javascript如何判断一个对象是不是数组一章节。

相关阅读:

(1).typeof可以参阅JavaScript typeof 运算符一章节。

(2)push()可以参阅JavaScript push()一章节。

JavaScript二维数组转换成一维数组,这样的场景在实际项目中还是用的比较多的,关于JavaScript二维数组转换成一维数组就介绍到这了。

JavaScript二维数组转换成一维数组属于前端实例代码,有关更多实例代码大家可以查看

回复

我来回复
  • 暂无回复内容