JS趣味编程
ECMAScripter
这个作者很懒,什么都没留下…
展开
-
JS编写一个函数,实现传入一个不定长度字符串,查找出重复次数前n名的字符并分别统计其次数
编写一个函数,实现传入一个不定长度字符串,查找出重复次数前n名的字符并分别统计其重复次数。写得好像比较复杂,大家有更好的方法欢迎留言指导,谢谢。原创 2017-11-07 17:17:53 · 1850 阅读 · 6 评论 -
使用JavaScript解答2018第九届蓝桥杯C/C++省赛A组试题
大三时参加过第七届蓝桥杯,转眼已经两年,最近看了看第九届蓝桥杯试题,打算用JavaScript实现一下。题目1标题:分数1/1 + 1/2 + 1/4 + 1/8 + 1/16 + …. 每项是前一项的一半,如果一共有20项, 求这个和是多少,结果用分数表示出来。 类似:3/2 。当然,这只是加了前2项而已。分子分母要求互质。 注意: 需要提交的是已经约分过的分数...原创 2018-05-19 11:35:55 · 1125 阅读 · 1 评论 -
JavaScript递归算法统计(将整数n分成任意两份不能相同的k份)分法的种数
JavaScript递归算法实现将整数n分成k份,任意两份不能相同题目: 将整数n分成k份,且每份不能为空,任意两种分法不能相同,求有多少种分法。例如:n=7,k=3,下面三种分法被认为是相同的:(1,1,5)(1,5,1)( 5,1,1)下面是题目截图:题目由来: 今天公司单元测试培训,期间看到同事(之前从事的是机器学习算法工作)在做算法题,当时叫他发题目给我试试,想了二十分钟左右还...原创 2018-03-20 23:17:59 · 2838 阅读 · 0 评论 -
es6的map()方法解释
map方法的作用不难理解,即“映射”,也就是原数组被“映射”成对应新数组。下面这个例子是数值项求平方:var data = [1, 2, 3, 4];var arrayOfSquares = data.map(function (item) { return item * item;});alert(arrayOfSquares); // 1, 4, 9, 16callback需原创 2017-12-06 17:13:15 · 10944 阅读 · 0 评论 -
多种方法实现数组去重以及字符串去重(ES5常用去重方式、ES6快捷去重、hash表方式去重)
字符串去重跟数组去重大同小异,将字符串转成数组即可使用数组去重方法。ES5常用方式: function unique(array) { var result = []; for(var i = 0; i < array.length; i++) { if (result.indexOf(array[i]) == -1) { ...原创 2018-02-26 09:38:26 · 3889 阅读 · 0 评论 -
JavaScript如何简单而准确地判断复杂数据类型
javaScript如何简单而准确地判断复杂数据类型?1:typeof 只能判断出基本数据类型例如:var a = 3; typeof a 的结果为 numbervar b = []; typeof b的结果为object,而不是array2:使用Object.prototype.toString.call(b)即可得到准确的数据类型array封装成一个方法,用于准确判断变量的类型。functio...原创 2018-02-24 16:49:21 · 1722 阅读 · 0 评论 -
两种方法用于检查传入的数字是否为整数
两种方法用于检查传入的数字是否为整数方法一: /* * 转化为字符串,使用indexOf检查字符串是否包含'.',不包含则为整数 * */ function isInt(number) { var string = number.toString(); if (string.indexOf('.') == -1) { ...原创 2018-02-26 10:32:30 · 476 阅读 · 0 评论 -
分享两个JavaScript打乱数组顺序实现随机排序洗牌的方法(应用于音乐视频的随机播放等)
实现方法一:function randomSort(arr) { // 对数组进行随机打乱, // return大于0则交换位置,小于等于0就不交换 // 由于Math.random()产生的数字为0-1之间的数 // 所以0.5-Math.random()的是否大于0是随机结果 // 进而实现数组的随机打乱 var array = arr.slice(); array原创 2017-11-14 00:00:13 · 8177 阅读 · 2 评论 -
JavaScript实现双色球机选逻辑错误与正确的算法
JavaScript实现双色球机选逻辑的错误与正确算法看了下新闻,看到某某幸运儿机选中了巨额双色球的新闻,忽然对JavaScript机选程序的实现产生了兴趣,刚开始的想法是写个随机产生1-33之间的函数,产生六次,作为红球;然后随机产生1-16的数字作为蓝球;然后发现选出的红球有可能重复的情况,貌似没有最初想的那么简单。决定把我的两个想法做个记录。本来想直接写函数的,想想还是写成面向对原创 2018-01-18 20:58:04 · 4313 阅读 · 0 评论 -
JavaScript产生一个n到m之间的随机数
JavaScript产生一个n到m之间的随机数算法源码: // 实现方法 function getRandomInt(n, m) { return Math.floor(Math.random() * (m - n + 1) + n); } // 调用方法,产生大于等于23小于等于26的整数 console.log(getRandomI原创 2018-01-04 23:46:03 · 2633 阅读 · 0 评论 -
谈谈JavaScript中编程实现以及使用内置方法实现进制转换
方法一:自己写逻辑实现说到Javascript下进制转换,可能你会想到自己编程实现:比如以下方法,是本人编写的将十进制转为二进制的方法: function toBinary(num) { var result = '' while(num >= 1) { if(num%2 == 0) { re原创 2018-01-02 16:54:17 · 424 阅读 · 0 评论 -
实例谈谈this在JavaScript中如何工作
下面的代码会输出什么结果? var fullname = 'John Doe';var obj = { fullname: 'Colin Ihrig', prop: { fullname: 'Aurelio De Rosa', getFullname: function() { return this.fullname;原创 2017-12-06 14:35:49 · 622 阅读 · 0 评论 -
给字符串对象定义一个repeat功能。当传入一个整数n时,它会返回重复n次字符串的结果。
比如console.log("html".repeat(3));会得到htmlhtmlhtml。知识点解释:JavaScript继承和prototype的知识点。举例:String.prototype.repeat = String.prototype.repeat || function (times) { var string = '';原创 2017-12-06 13:50:08 · 1608 阅读 · 0 评论 -
[JavaScript编程练习]js获取文字中的100,使其变为红色,若文字100改为其他任意数字,该数字依然会是红色
已知dom结构为: 前100名报名学员,每门课程享受8折优惠。题目:使用js将网页中的“100”变为红色,若文字中100改成任意数字,该数字依然会变红色。解:文字中100没有单独标签,不能直接设置样式,本人刚开始想到的使用正则表达式,但还是改成了以下方法,能实现,但略显庸俗,有更好的方法欢迎指导。 var string, numAfter, html; va原创 2017-12-01 19:23:37 · 1886 阅读 · 0 评论 -
JavaScript使用hash表方式实现数组去重。
function unique(arr){ var hash = [], result = [],item; hash[arr[0]]=1; for (var i=1;i<arr.length ;i++ ) { if(hash[arr[i]]===undefined){ hash[arr[i]]=1 }原创 2017-11-30 15:32:59 · 1118 阅读 · 4 评论 -
JavaScript实现字符串转换成驼峰表示法
举例:已知有字符串foo=”get-element-by-id”,写一个function将其转化成驼峰表示法”getElementById”。 function change(foo) { var arr = foo.split('-'); for (var i = 1; i < arr.length; i++) { arr[i] = arr原创 2017-11-03 18:07:18 · 2791 阅读 · 0 评论