前端算法合集-2(含面试题-美团一面)

主要考察的就是数组扁平化,由浅入深吧

①利用tostring()和split()

let arr = [1, 2, 3, [4, 5, 6], [7, 8, [9, 10, 11], 12], [13, 14, 15]]
let newarr=arr.toString().split(',')
let numarr=newarr.map((item)=>{item=Number(item)return item
})
console.log(numarr)

②利用es6 flat()

ok,现在来练习力扣

如果不限制flat用法:

var flat = function (arr, n) {return arr.flat(n)
};

如果限制:

let arr = [1, 2, 3, [4, 5, 6], [7, 8, [9, 10, 11], 12], [13, 14, 15]]
var flat = function (arr, n) {while (n > 0 && arr.some(Array.isArray)) {// arr.some(Array.isArray)判断arr里是否还含有数组arr = [].concat(...arr);//扩展运算符...会将数组arr拆分成一个个独立的元素,...arr将数组展开为1, [2, 3], 4。//[].concat(...arr)会得到新数组[1, 2, 3, 4]。n--;}return arr;};
作者:__sgf__ 链接:https://leetcode.cn/problems/flatten-deeply-nested-array/solutions/2286164/2625-bian-ping-hua-qian-tao-shu-zu-cong-b9vg5/ 来源:力扣

 下面看一个示例回顾和理解concat(concat方法作用使用该方法的时候,它会创建一个当前数组的副本,然后将接受到的参数添加到该数组的末尾。)

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/56070.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AndroidStudio移动开发:使用Service播放音乐【步骤】

目录 一、创建新application 二、准备音乐文件 三、创建项目和布局(如果需要交互界面的话,这里简单假设一个基本布局) 四、创建MusicService类 五、在MainActivity中启动和控制Service(也可以另外创建MusicActivity类&#x…

MoeCTF 2024 ---Misc方向WP

安全杂项 signin 题目描述: xdsec的小伙伴们和参赛者来上课,碰巧这一天签到系统坏了,作为老师的你,要帮他们 教师代签。 特殊提醒:luo同学今天好像在宿舍打游戏,不想来上课,这是严重的缺勤行为…

实现mysql定时执行任务

使用场景,每天想定时去执行一次数据同步,可以进行实现每天某个时间段去查询两个数据库表中数据进行数据同步 具体步骤包括两步: 先查看定时任务是否开启 SHOW VARIABLES LIKE event_scheduler; #查看是否开启,NO表示开启,默认是…

【数据分享】全国人口-人口年龄结构和抚养比(1990-2021年)

数据介绍 一级标题指标名称单位指标解释人口年末总人口万人年末人口数指每年12月31日24时的人口数。年度统计的全国人口总数内未包括香港、澳门特别行政区和台湾省以及海外华侨人数。1981年及以前人口数据为户籍统计数;1982、1990、2000、2010、2020年数据为当年人口…

Scala的多态

从编译的角度解释Scala的多态含义:在执行期间而非编译期间确定所引用对象的类型,根据实际类型调用其方法。一个编译型语言有两种类型,分别为编译类型和运行类型。程序中定义的引用变量所指向的具体类型和通过该变量发出的方法调用在编译时不确…

实操上手TinyEngine低代码引擎插件化开发

1.背景介绍 1.1 TinyEngine 低代码引擎简介 低代码开发是近些年非常热门的一种开发方式,用户可以通过可视化的方式,简单拖拽,不写代码或者编写少量代码,类似搭积木一样搭建业务应用。 TinyEngine是一个强大的低代码引擎&#x…

Redis 常用指令详解

Redis是一款开源的、高性能的键值对存储数据库,常用于缓存、会话存储以及其他需要快速访问的数据场景。本文将介绍Redis的一些常用指令,并通过代码示例进行说明。 一、连接操作指令 1. 连接 Redis 服务器 ./redis-cli -h 127.0.0.1 -p 63792. 认证&a…

计算广告第三版pdf

需要该书pdf版本的同学点赞,私信我:

拥抱云开发的未来:腾讯云数据库、云模板与AI智能化的应用场景探索

本文目录: 💡前言:技术的边界在不断延展🌟目录🌈什么是腾讯云云开发?💾云数据库:让数据成为开发的稳固基石🥑数据,不再只是数据 🛠云模板&#xf…

Spark_入库时报错ORA-00001 unique constraint violated 解决办法

首先可能是数据入重复了 检查一下看看是否入库前删除了分区的数据,可能是重复数据入库的问题,如果不是这个那么继续排查。 入库的数据有问题,检测方法 如果报主键冲突了,则group by 一下id,date,然后select 的时候加一…

docker 数据管理,数据持久化详解 二 数据卷容器

数据卷和数据卷容器核心区别 持久性对比 数据卷:当您直接在启动容器时指定了一个数据卷(例如,使用docker run -v /data),这个数据卷会自动创建,并且其内容会在容器停止或删除后继续存在。您可以随时通过Do…

飞睿智能超宽带UWB音频传输模块,超低延迟数据传输,实时音频声音更纯净

在信息爆炸的时代,音频传输技术正以未有的速度发展,创新我们进入一个全新的听觉世界。今天,我们要探讨的,就是这场技术创新中的一颗璀璨明星——飞睿智能超宽带(UWB)音频传输模块。它以其独特的优势&#x…

RHCSA课后练习1

文件管理命令练习 vi/vim练习 vim newfile 按 a 进入编辑模式 :r 文件 在末尾模式中插入文件 :%s/#/ /g 先将#标记为匹配项:%g#d 再删除 : set nu 开启行号 自行组cp 用grep命令找到6段再用tail命令选中第六段 用find查找 [A-Z]代表所有…

利用 PyTorch 进行深度学习训练过程中模型的 .eval() 和 .train() 属性介绍

介绍 在深度学习训练过程中,一般会有训练阶段和评估阶段,因此定义好模型model时,一般根据模型的属性model.train()和model.eval()来应用训练阶段和评估阶段。在 PyTorch 中,模型的 .eval() 和 .train() 方法用于设置模型的运行模…

如何写一个视频编码器演示篇

先前写过《视频编码原理简介》,有朋友问光代码和文字不太真切,能否补充几张图片,今天我们演示一下: 这是第一帧画面:P1(我们的参考帧) 这是第二帧画面:P2(需要编码的帧&…

游戏引擎中ECS架构及内存布局

一.ECS E:Entity-游戏世界中的人,房子等实际物体,这些物体可能由不同的MetaMesh,ParticleSys组成 C:Component-组成实际物体的MetaMesh,ParticleSys,也可以是一个实际物体 S:System-游戏引擎,负责完成实际物体的初始化,内存管理,帧同步,线程同步等核心功能 二.ECS内存布局 1.创…

python包以及异常、模块、包的综合案例(较难)

1.自定义包 python中模块是一个文件,而包就是一个文件夹 有这个_init_.py就是python包,没有就是简单的文件夹 包的作用:当我们的模块越来越多时,包可以帮助我们管理这些模块,包的作用就是包含多个模块,但包…

基于JSP的校园宿舍电费缴纳系统【附源码】

基于JSP的校园宿舍电费缴纳系统 效果如下: 系统首页界面 学生登录界面 公告栏页面 在线留言页面 个人中心界面 管理员登录界面 管理员功能界面 宿舍信息管理界面 余额管理界面 使用电量管理界面 余额提醒管理界面 学生功能界面 研究背景 随着网络的高速发展&…

【Python】相等性比较运算(==, is)的学习笔记

1. 相等性比较运算: & is Python中有两种比较运算符和is; 和 is 的主要区别在于它们比较的对象属性不同: 运算符: 比较对象的值或内容是否相等。调用对象的 __eq__() 方法来进行比较。可以被重载(在自定义类中重…

使用休眠的方式来解决电脑合盖后偶尔不能正常睡眠的问题

背景描述 用过Windows笔记本电脑的用户应该都偶尔遇到过这样的一个问题,就是电脑直接合上盖后放在包里,按道理来说应该会自动进入睡眠模式,但是等电脑再从包里拿出来时发现电脑很烫,并且已经没电了,似乎并没有进入到休…