首页 > 其他分享 >js数组扁平化 flat

js数组扁平化 flat

时间:2022-12-03 22:22:20浏览次数:63  
标签:flat 扁平化 js arr4 arr2 数组 var arr1

Array.prototype.flat()

flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。

const arr1 = [0, 1, 2, [3, 4]];

console.log(arr1.flat());
// expected output: [0, 1, 2, 3, 4]

const arr2 = [0, 1, 2, [[[3, 4]]]];

console.log(arr2.flat(2));
// expected output: [0, 1, 2, [3, 4]]

语法

flat()
flat(depth)
depth 可选,指定要提取嵌套数组的结构深度,默认值为 1。

返回值

一个包含将数组与子数组中所有元素的新数组。

var arr1 = [1, 2, [3, 4]];
arr1.flat();
// [1, 2, 3, 4]

var arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat();
// [1, 2, 3, 4, [5, 6]]

var arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2);
// [1, 2, 3, 4, 5, 6]

//使用 Infinity,可展开任意深度的嵌套数组
var arr4 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]];
arr4.flat(Infinity);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

扁平化与数组空项

flat() 方法会移除数组中的空项:

var arr4 = [1, 2, , 4, 5];
arr4.flat();
// [1, 2, 4, 5]

官方文档

   

标签:flat,扁平化,js,arr4,arr2,数组,var,arr1
From: https://www.cnblogs.com/beileixinqing/p/16948924.html

相关文章

  • Cpp serialize class in vector collection and define the serialize method in clas
    //Model/Book.cpp#include<iostream>#include<jsoncpp/json/json.h>usingnamespacestd;classBook{public:intIdx;doubleId;char*Abstract;......
  • threejs + blender 纺纱机 模型 实践
    模型:清花机、梳棉机、并条机、粗纱机、细纱机、络筒机   访问:demo......
  • JSP-入门学习、案例-改造Cookie案例
    JSP-入门学习4.JSP的内置对象:在jsp页面中不需要获取和创建,可以直接使用的对象jsp一共有9个内置对象。今天学习3个:request......
  • js-day05-栈和堆
    值类型(简单数据类型):string,number,boolean,undefined,null值类型变量的数据直接存放在变量(栈空间)中引用类型(复杂数据类型):通过new关键字创建的对象(系统对象、自定义对......
  • js-day05-学成在线学习
    现在做学成开发项目时,不需要像以前一样把所有的图片的都写出来,可以设置一个数组,数组里面全面放对象,然后通过循环来渲染,这样就不需要将所有的图片写出来,需要记住放document.......
  • JS零碎
    一元运算符+可以把数字字符串转为数字类型,如遇到无法转换的字符串,返回NaNNumber如果参数无法转为数字类型,则返回NaNNumber(null)会返回0数组返回的是字符串......
  • cJSON库的使用
    cJSON库的使用cJSON库是使用C语言编写的开源库,主要功能是处理json。一、cJSON库操作--增加键值对❤API函数:CJSON_PUBLIC(cJSON*)cJSON_AddStringToObject(cJSON*c......
  • js中this是什么?this的5种用法
    概述:1.在方法中,this指的是所有者对象。2.单独的情况下,this指的是全局对象。3.在函数中,this指的是全局对象。4.在函数中,严格模式下,this指的是undefined。5.在事件中,this指的......
  • JS数据类型转换,转数值,转字符串,转布尔
    ​1.转数值number        parseInt(‘内容‘/变量名)可以强制把字符串转整数数值,隐式转换        Parsefloat(‘内容‘/变量名)可以强制把有小数的字符串......
  • JS初学变量命名规则
    由数字、字母、下划线(-)和$构成不能使用纯数字或者数字开头,例如123abc就不正确只能使用_或$两个符号,其他的都不行不能使用关键字或者保留子,例如var就是一个关键字严......