Steamroller-freecodecamp算法题目
2024-10-21 03:31:04
Steamroller
1.要求
- 对嵌套的数组进行扁平化处理。你必须考虑到不同层级的嵌套。
2.思路
- 设定结果数组res
- 用for循环遍历arr的元素,判断是否为数组,是,则用res=res.concat(steamroller(arr[i]))继续输入到函数;否,则把元素push到res中
- 最后返回res
3.代码
function steamroller(arr) {
// I'm a steamroller, baby
var res=[];
for(var i=0;i<arr.length;i++){
if(Array.isArray(arr[i])){
res=res.concat(steamroller(arr[i]));
}
else{
res.push(arr[i]);
}
}
return res;
}
steamroller([1, [2], [3, [[4]]]]);
4.相关链接
- https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
- http://www.runoob.com/jsref/jsref-concat-string.html
最新文章
- Solr整合Ansj中文分词器
- Leetcode 98. Validate Binary Search Tree
- 洛谷P2727 01串 Stringsobits
- 抢滩登陆游戏android源码
- Zabbix简介(第一章第一节)
- mybatis杂记
- NOSQL之【WIN7的安装配置】
- cf B Bear and Strings
- bzoj1135
- 【HDOJ】5155 Harry And Magic Box
- HDOJ1166 敌兵布阵
- VS2008下直接安装使用Boost库1.46.1版本号
- 设计模式 ( 十九 ) 模板方法模式Template method(类行为型)
- Android 9.0/P http 网络请求的问题
- IP通信基础课堂笔记----简答题
- mysql使其支持插入中文数据的办法
- 2018-2019-2 20175105 实验一《JAVA开发环境的熟悉》实验报告
- PHP源码安装经常会碰到的问题及解决办法
- 模型验证组件 FluentValidation
- [转]预编译 ASP.NET 网站