计算机系统应用教程网站

网站首页 > 技术文章 正文

你可能还不知道的JS知识点 flat和flatMap

btikc 2024-10-12 10:49:32 技术文章 2 ℃ 0 评论


flat (Array.prototype.flat)

这是一个用于数组降维的方法,比如说,可以它可以将一个二位数组拉平。

举个栗子::

[['盆','盆','学','IT'],["越","学","越","NB"]].flat() // 
//结果为: ["盆", "盆", "学", "IT", "越", "学", "越", "NB"]

它也可以处理更高维的数据,只要传入数据的最大维度

[['盆','盆','学','IT'],["越","学","越",["N","B"]]].flat(2); 
//结果为: ["盆", "盆", "学", "IT", "越", "学", "越", "N","B"]

当然也可以传入Infinity,这样可以处理任意维度

[['盆','盆','学','IT'],["越","学","越",["N",[[["B"]]]]]].flat(Infinity);
//结果为: ["盆", "盆", "学", "IT", "越", "学", "越", "N","B"]

flatMap (Array.prototype.flatMap)

该方法会对原数据的每个成员执行一个操作,然后对这个操作的返回值组成的数组进行flat()方法。该函数返回一个新数组,不会改变原来的数组

举个栗子:

[["老司机"],["请握好"],["你手中的"],["方向盘"]].flatMap(x=>[...x[0].split('')]);
// ["老", "司", "机", "请", "握", "好", "你", "手", "中", "的", "方", "向", "盘"]

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表