面试遇到的JS编程题
2015-10-19 20:54
447 查看
总结一些在笔试面试中遇到的一些js的编程题,很多题当时没做出来,事后得补上,不管怎么,都积累了经验。
输出:[2, 3, 4, 55, 77, 6, 43, 2, 33]
方法一:(递归)
var arr=[2,3,4,[55,77,[6,43,2]],33];
function handleArr(arr){
var result=[];
function inner(arr){
for(var i=0;i<arr.length;i++){
if(typeof arr[i]!=='object'){
result.push(arr[i]); //是数字直接push到数组中
}
else{
inner(arr[i]); //若是数组,调用函数inner()
}
}
}
inner(arr);
return result;
}
handleArr(arr); //[2,3,4,55,77,6,43,2,33]
方法二:(正则 分割字符串)
var arr=[2,3,4,[55,77,[6,43,2]],33];
var arrs=arr.toString();
var res=arrs.replace(/[(\[\]]/g,""); //去掉所有的[] 字符串
alert(res.split(",")); //数组
1.递归/正则/数组
题目描述:输入:[2,3,4,[55,77,[6,43,2]],33]输出:[2, 3, 4, 55, 77, 6, 43, 2, 33]
方法一:(递归)
var arr=[2,3,4,[55,77,[6,43,2]],33];
function handleArr(arr){
var result=[];
function inner(arr){
for(var i=0;i<arr.length;i++){
if(typeof arr[i]!=='object'){
result.push(arr[i]); //是数字直接push到数组中
}
else{
inner(arr[i]); //若是数组,调用函数inner()
}
}
}
inner(arr);
return result;
}
handleArr(arr); //[2,3,4,55,77,6,43,2,33]
方法二:(正则 分割字符串)
var arr=[2,3,4,[55,77,[6,43,2]],33];
var arrs=arr.toString();
var res=arrs.replace(/[(\[\]]/g,""); //去掉所有的[] 字符串
alert(res.split(",")); //数组
相关文章推荐
- 程序员既要写好代码,又要写好文档
- 黑马程序员--Java学习日记之集合(collection类和map类代码)
- 程序员最常犯的 7 个错误,谨记!
- ios 基本面试题
- Problem H: 林教主的面试整数部分转换2进制,从右往左,除二取余;小数部分从左往右,乘二取整
- 黑马程序员 Java基础——多态、抽象类及接口
- sql面试题一 学生成绩
- 一个五年程序员的学习观
- 黑马程序员 Java基础——Map接口及其实现类
- 黑马程序员 Java基础——进程与线程及多线程
- 黑马程序员 Java基础——排序
- iOS 面试题(简单版)
- 黑马程序员 Java基础——反射
- Java程序员应该了解的10个面向对象设计原则
- 《剑指Offer》面试题:用两个队列实现一个栈
- 关于ArrayList的5道面试题
- 黑马程序员--Java学习日记之面向对象(多态,接口和其他关键字)
- 怎么样才能在初入职场风生水起
- 黑马程序员 Java基础——Collection接口
- 【笔面试】字符流和字节流的区别以及如何解决乱码问题