js数组扁平化

这一篇应该说是扫盲吧,或者说给自己的无知长个记性???

一开始听到数组扁平化,这形容词真让我懵逼了一下。我是真没想到降维那里去,最后了解了一下
扁平化就是将多维数组转换为一维数组:

[1,[2,3,[4,[5,6]]]][1,2,3,4,5,6]

转换的方法:

flat()

flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
说白了就是遍历数组中每一个元素,最后再合并成一个新的数组

let a=[1,[2,3,[4,[5,6]]]];
			let b=a.flat(3);
			console.log(b);//[1, 2, 3, 4, 5, 6]

对于未知维度的数组就可以使用正无穷
Javascript中,超出 1.7976931348623157E+103088 的数值即为Infinity,小于 -1.7976931348623157E+103088 的数值为无穷小。

let a=[1,[2,3,[4,[5,6]]]];
			let b=a.flat(Infinity);
			console.log(b);//[1, 2, 3, 4, 5, 6]
偷偷说无论已知还是未知维度我都是用infinity,效率是一样的

flat也可以去除数组空项:

let a=[1,[2,3,[4,[5,6]]],,];
			let b=a.flat(Infinity);
			console.log(b);//[1, 2, 3, 4, 5, 6]
			数组空项很少出现,但还是要记一下(是去除空项不是空字符串哦)

还有一个不得不说在渡一教育看到的一道题

在一个二维数组中,每一个一维数组长度相同,每一行按照从左到右顺序递增,每一列按照从上往下顺序递增。请完成一个函数输入一个这样的二维数组,和一个整数,判断数组中是否含有该整数

说明白点就是检索一个二维数组是否包含某一个元素。。。但当时我不明白的是:每一行按照从左到右顺序递增,每一列按照从上往下顺序递增
在这里插入图片描述
百度了一下就是:

let ary=[
[1,2,3,4],
[2,3,4,5],
[3,4,5,6]
]

显而易见。。我是真没想到那里去。。。我还以为很深奥。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值