一道js面试题

 当然这道面试题并不一定就能在你面试的时候遇到,但是不怕一万就怕万一,会的多一些还是好的。

 1  <script type="text/javascript">
 2         var str = ‘asdfssaaasasasasaasassaassaa‘;
 3         var json = {};//定义一个json对象
 4         //判断该字符串截取出来的这一个字符是不是在join对象中存在
 5         for (var i = 0; i < str.length; i++) {
 6
 7             if (!json[str.charAt(i)]) {
 8                 //如果不存在,则以该单字符作为join对象的键值,将其values赋值为1
 9                 json[str.charAt(i)] = 1;
10             } else {
11                 //如果存在,则找到该键值对应的value值,并且自增
12                 json[str.charAt(i)]++;
13             }
14         };
15         //定义一个最大值,可以保存出现次数最多的字符的次数
16         var iMax = 0;
17         //可以保存出现次数最多的那个字符
18         var iIndex = ‘‘;
19         //用打擂算法循环输出join中保存的数据
20         for (var i in json) {
21             //每一个i都代表着一个join对象的键值(也就是字符)
22             if (json[i] > iMax) {
23                // iMax = json[i];
24                 //  iIndex = i;
25                 //打印出每个字符出现的次数为几次
26                 alert(i+‘字符,出现了‘+json[i]+‘次‘);
27             }
28         }
29       //  alert(‘出现次数最多的是:‘ + iIndex + ‘出现‘ + iMax + ‘次‘)
30     </script>

感谢编写这道题以及研究这道题和分享这道题为此题做出贡献的大神!

时间: 2024-08-10 17:20:08

一道js面试题的相关文章

关于一道JS面试题的思考

题目: for (var i = 0; i < 5; i++) { setTimeout(function() { console.log(new Date, i); }, 1000); } console.log(new Date, i); 1.面对这段代码时给出的结果也不尽相同,以下是典型的答案: A. 20% 的人会快速扫描代码,然后给出结果:0,1,2,3,4,5: B. 30% 的人会拿着代码逐行看,然后给出结果:5,0,1,2,3,4: C. 50% 的人会拿着代码仔细琢磨,然后给出

那晚征服的一道js经典的面试题

今天朋友共享了一道js中经典的面试题,需求是这样的 给定你任意一个字符串,让你写出一个算法,求算出该字符串中出现次数最多的一个字符,并将其结果输出 刚拿到这道题的第一感觉便是定义一个count计时器,然后通过for循环 里面嵌套if判断,但是这样的话貌似并不是一个很好的解决方案 因为你并不知道该字符串是数字还是字母和 特殊符号,又或者是这三者的组合形式,所以,这种方案就显得极其的麻烦和繁琐了 所以有一个算是比较好的解决方案,代码如下 //判断一个随意字符串中出现次数最多的字母,并判断出出现过几次

输入url到页面加载都发生了什么事情?(一道软件测试面试题)

文章首发于公众号:软件测试er 输入url到页面加载都发生了什么事情?这是一道软件测试面试题,且相关知识其实还有多种问法: Question 1请讲一下tcp三次握手 OK等你把这个记好了,下次面试:Question 2 tcp和http有什么区别?? Question 3 http和https区别? Question 4 http请求方法? Question 5常见的返回状态码有哪些?都是什么含义?...一开始我也只是应付面试,去了解这些问题,但是发现自己并不能很好的理解.而在平时测试中需要定

2017、2018面试分享(js面试题记录)记得点赞分享哦;让更多的人看到~~

2017面试分享(js面试题记录) 1. 最简单的一道题 '11' * 2 'a8' * 3 var a = 2, b = 3; var c = a+++b; // c = 5 2. 一道this的问题 var num = 10; var obj = { num:8, inner: { num: 6, print: function () { console.log(this.num); } } } num = 888; obj.inner.print(); // 6 var fn = obj.

10个常见的Node.js面试题

如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. 在进入正文之前,需要提前声明两点: 这些问题只是Node.js知识体系的一个局部,并不能完全考察被面试者的实际开发能力. 对现实世界开发中遇到的问题,需要的是随机应变与团队合作,所以你可以尝试结对编程. Node.js面试题列表 什么是错误优先的回调函数? 如何避免回调地狱? 如何用Node来监听8

容易答错的JS笔试题

1,考察this var length = 10 function fn(){     alert(this.length) } var obj = {     length: 5,     method: function(fn) {         fn() // ?         arguments[0]() // ?     } } obj.method(fn) 这里的坑主要是arguments,我们知道取对象属于除了点操作符还可以用中括号,这里fn的scope是arguments,即

一道java面试题-方法静态分派

一道面试题,下面程序的输出是? public class StaticDispatch { static abstract class Human{ } static class Man extends Human{ } static class Woman extends Human{ } public void sayHello(Human guy){ System.out.println("hello , guy!"); } public void sayHello(Man gu

JS笔试题

1,考察this var length = 10function fn(){ alert(this.length)}var obj = { length: 5, method: function(fn) { fn() // ? arguments[0]() // ? }}obj.method(fn)这里的坑主要是arguments,我们知道取对象属于除了点操作符还可以用中括号,这里fn的scope是arguments,即fn内的this===arguments,调用时仅传了一个参数fn,因此le

常让人误解的一道js小题

今天无意中看到一个js笔试题,不由得想起初学js那会被各种题目狂虐的心酸,虽说现在也会被笔试题所虐,但毕竟比之前好了很多,至少对于这道题我还是能正确解答上来的: var x = 1; function printx(){ console.log(x); } function show(f){ var x = 2; (function(){ f(); })() } show(printx); //1 结果后台会打印1,而不是2.这有些不合常理,因为很多人会错误的认为:函数show中的f()在执行时