今天想起来几道javascript的面试题,大家做做看看,有别的思路可以在下面写出来,大家交流一下

(1) 将多维数组转化成一个一位数组,例如[1,[2,3],[4,5,[6,7]]]转化成[1,2,3,4,5,6,7],答案在下面,主要就是利用递归

function test(array){
var newArray = [];
for (var i=0,length = array.length - 1; i <= length; i++) {
if(array[i] instanceof Array){//判断是不是数组
newArray = newArray.concat(test(array[i]));//递归调用
}else{
newArray.push(array[i]);
}
};
return newArray;
}

(2) 求数组的最大维数,即一共嵌套了多少层,例如[1,2,[3,[4,5,[6]],[7,[8]]]] 一共嵌套了4层,还是利用递归,主要代码在下面

function getDim(array){
var dim = [];
for (var i =0,length = array.length - 1; i <= length; i++) {
if(array[i] instanceof Array){
dim[i] = getDim(array[i]) + 1;//是数组就加1
}else{
dim[i] = 1;
}
};
return (dim.sort(function(a,b){return a-b})).pop();//返回最大的维数
//或者这样
//return Math.max.apply(null,dim);
}

(3)查找字符串中出现最多的字符和个数?   例如:sdjksfssscfssdd  -> 字符最多的是s,出现了7次,这个主要就是利用replace函数来实现的,还可以用普通的方式

var str = "sdjksfssscfssdd";
str = str.split("").sort().join("");
var count = 0;
var val;
str.replace(/(\w)\1*/g,function(arg0,arg1){
if(arg0.length > count){
count = arg0.length;
val = arg1;
}
});
console.log(val+" 出现了"+count+" 次");

这个就是先按照字字母排序,排成cdddffjksssssss这样的形式,之后找出重复次数最多的字母。

【javascript 面试笔试】1、几道笔试题的更多相关文章

  1. 嵌入式C开发人员的最好的0x10道笔试题

    嵌入式C开发人员的最好的0x10道笔试题 2006-11-22 15:53 约定: 1) 下面的测试题中,认为所有必须的头文件都已经正确的包含了 2)数据类型 char 一个字节 1 byte int ...

  2. JAVA 150道笔试题知识点整理

    JAVA 笔试题 整理了几天才整理的题目,都是在笔试或者面试碰到的,好好理解消化下,对你会有帮助,祝你找工作顺利,收到满意的 offer . 1.Java 基础知识 1.1 Java SE 语法 &a ...

  3. 【Python】【面试必看】Python笔试题

    前言 现在面试测试岗位,一般会要求熟悉一门语言(python/java),为了考验求职者的基本功,一般会出 2 个笔试题,这些题目一般不难,主要考察基本功.要是给你一台电脑,在编辑器里面边写边调试,没 ...

  4. 2019 头条java面试笔试总结 (含面试题解析)

       本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条等公司offer,岗位是Java后端开发,因为发展原因最终选择去了头条,入职一年时间了,也成为了面试官,之前面 ...

  5. 2019 京东java面试笔试总结 (含面试题解析)

       本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.京东等公司offer,岗位是Java后端开发,因为发展原因最终选择去了京东,入职一年时间了,也成为了面试官, ...

  6. 2019 滴滴java面试笔试总结 (含面试题解析)

       本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.滴滴等公司offer,岗位是Java后端开发,因为发展原因最终选择去了滴滴,入职一年时间了,也成为了面试官, ...

  7. 2019 阿里java面试笔试总结 (含面试题解析)

       本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.滴滴等公司offer,岗位是Java后端开发,因为发展原因最终选择去了阿里,入职一年时间了,也成为了面试官, ...

  8. 面试中遇到的iOS笔试题

    1.浅复制和深复制的区别? 2.类别的作用(category)?继承和类别在实现有何区别? 3.类别(category)和类扩展(extension)的区别. 4.obc中的协议和java中的接口概念 ...

  9. 牛客网试卷: 京东2019校招笔试Java开发工程师笔试题(1-)

    1.在软件开发过程中,我们可以采用不同的过程模型,下列有关 增量模型描述正确的是() A 是一种线性开发模型,具有不可回溯性 B 把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析 ...

随机推荐

  1. Android中下载、安装和卸载(原)

    应用场景:在检查版本更新的时候经常需要从服务器端下载然后安装到手机中 使用工具: XUtils,这个开源的框架真的是需要花大把时间去阅读和理解的,十分有用的,on the way ! fighting ...

  2. iOS学习之iOS沙盒(sandbox)机制和文件操作之NSFileManager(三)

    1.在Documents里创建目录 创建一个叫test的目录,先找到Documents的目录, NSArray *paths = NSSearchPathForDirectoriesInDomains ...

  3. 旷世奇坑!!!spring 不能自动注入

    一入此坑,只想跳楼.我发誓应该不会有第二个人会进这种坑! 问题描述: 总是不能注入dao层,即@Resposity.always!always!always!(尝试了天下之因特网所有的注入方式,都不能 ...

  4. 使用html模板

    创建html---点击next--选择写好的模板

  5. python 后台爆破工具(多线程)

    非阻塞 q.put(item) 写入队列,timeout等待时间 q.put_nowait(item) 相当q.put(item, False) threads多线程     首先导入threadin ...

  6. groupspecWidhoutAuthorizations与groupspecWidthAuthorizations的区别

    GroupSpecifier是一个用来定义group所有参数的类.首先,将它命名为“myGroup/g1”.然后设置 serverChannel与Stratus进行沟通.最后发布.这样,我们就完成了P ...

  7. php面试题及答案

    1.用PHP打印出前一天的时间,格式是2006-5-10 22:21:21 <?php   //echo date('Y-m-d H:i:s',time()-60*60*24   echo da ...

  8. linux文件系统节点详解

    linux文件系统有两层结构,逻辑结构和物理结构.也就是inode和block. 每个文件都有一个inode, 记录文件属性:权限,时间还有最重要的block号码. block是实际存放文件内容的地方 ...

  9. Linear Algebra lecture 2 note

    Lecture2 Elimination Inverses Permutation 消元法介绍(elimination): 有方程组 提取系数,形成矩阵为: 消元的思想跟解方程组中先消除未知数的思路一 ...

  10. 20141203图片Base64编码与解码

    最近需要将图片通过转码的形式传给移动端,使用了Base64转码与 解码 import java.io.FileInputStream; import java.io.FileOutputStream; ...