自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 【js】统计数位上数字不重复的整数的个数

给出一个正整数n,统计0到10^n内,各个数位上的数字均不同的整数个数。(例如:123,个十百位数字都不一样,则计数;121则不计数)输入:2输出90function number(n){ var num=Math.pow(10,n) var cnt=0 for(var i=1;i<num;i++){ var s=''+i var arr=s.sp...

2019-09-24 23:39:58 642

原创 【js设计模式】SOLID五大设计原则

一、用Promise来说明单一职责原则、开放封闭原则。function loadImg(src){ var promise = new Promise(function(resolve,reject){ var img = document.createElement('img') img.onload = function(){ ...

2019-09-23 23:41:24 521

原创 【js】找出json中所有节点的父节点

示例:输入:var nodes = { node: 6, left: { node: 5, left: { node: 4 }, right: { node: 3 } }, right: { node: 2, right: { node: 1 } ...

2019-09-23 20:58:19 1810

原创 【js】复数计算

输入:1+2i2+i输出:5ifunction complex(a,b){ var ia=a.indexOf('+') var ib=b.indexOf('+') var a1=parseInt(a.substring(0,ia)) var a2=parseInt(a.substring(ia+1,a.length-1)) var b1=parseInt(b...

2019-09-21 18:02:26 1414

原创 【js】计算某个日期是该年的第几天

示例:输入:'2019-09-21'输出:264function getDays(s){ var arr=s.split('-') var d1=new Date(arr[0],0,0).getTime() var d2=new Date(arr[0],arr[1]-1,arr[2]).getTime() var d=Math.floor((d2-d1)/(1...

2019-09-21 02:07:21 2620

原创 【js】驼峰命名法和短横线命名法的转换

一、将骆驼命名规则的字符串转换成使用短横线命名法的字符串输入userName输出user-name方法1:采用数组的方法function getKebabCase1(str){ var arr=str.split('') str=arr.map(function(item){ if(item.toUpperCase()===i...

2019-09-18 16:14:34 3755

原创 前端笔试面试题-判断输出结果

作用域var a=b=10;(function f(){ var a=b=11;})()console.log(a); //10console.log(b); //11var a=1function fn(){ var a=2 b=3}fn()console.log(a) //1console.log(b) //3var a=1let...

2019-09-09 22:28:17 669

原创 【js】数组的全排列

function permute(arr){ var rst=[],cur=[] function fn(arr){ var ch for(var i=0;i<arr.length;i++){ ch=arr.splice(i,1)[0] cur.push(ch) if(arr.length==0){ rst.push(cur.slice()) }...

2019-09-09 22:26:00 789 1

原创 【js】按json的某一个字段排序

对data的time字段,按照由小到大排序;如果为空,则按原来的顺序放在后面。var data=[{name:'xixi',time:'2019-09-03'},{name:'haha',time:'2019-09-02'},{name:'hehe',time:'2019-09-01'},{name:'hihi',time:'2019-09-04'},{name:'mumu...

2019-09-09 21:50:37 862

原创 【js】比较两个APP的版本号

输入:5.2.0和5.1输出:按版本由小到大输出5.1,5.2.0var v1='5.2.0'var v2='5.1'var arr1=v1.split('.').map(function(item){ return parseInt(item)});var arr2=v2.split('.').map(function(item){ return pa...

2019-09-09 18:29:31 5851

原创 【js】字符串的所有字串

输入一个字符串,输出字符串的所有字串。示例:输入'abc'输出'a', 'ab', 'abc', 'b', 'bc', 'c'let s='abc'let a=[]for(let i=0;i<s.length;i++){ for(let j=i+1;j<=s.length;j++){ a.push(s.substring(i,j))...

2019-08-31 19:50:57 487

原创 【js】判断是否符合 USD 格式

给定字符串 str,检查其是否符合美元书写格式1、以 $ 开始2、整数部分,从个位起,满 3 个数字用 , 分隔3、如果为小数,则小数部分长度为 24、正确的格式如:$1,023,032.03 或者 $2.03,错误的格式如:$3,432,12.12 或者 $34,344.3示例1输入'$20,933,209.93'输出truefunction i...

2019-07-29 11:27:30 730

原创 【js】判断是否符合指定格式

给定字符串 str,检查其是否符合如下格式1、XXX-XXX-XXXX2、其中 X 为 Number 类型示例1输入'800-555-1212'输出true开头^和结尾$必须加上来限定字符串;3个数可表示为\d{3},4个数则为\d{4},{n}表示前面内容出现的次数。正则表达式可写作/^\d{3}-\d{3}-\d{4}$/,有相同部分\d{3}-,因...

2019-07-29 11:24:34 2820

原创 【js】获取指定字符串

题目描述给定字符串 str,检查其是否包含连续3个数字1、如果包含,返回最新出现的 3 个数字的字符串2、如果不包含,返回 false示例1输入'9876543'输出987function captureThreeNumbers(str) { var num=str.match(/\d{3}/); if(num){ ...

2019-07-29 11:21:05 893

原创 【js】判断是否以元音字母结尾

字符串 str,检查其是否以元音字母结尾1、元音字母包括 a,e,i,o,u,以及对应的大写2、包含返回 true,否则返回 false示例1输入'gorilla'输出true1.正则确定元音集合[a,e,i,o,u];以元音结尾,加上$;通配大小写,加上i;最后用test方法去检测字符串str。function endsWithVowel(str...

2019-07-29 11:16:32 1791

原创 【js】检查重复字符串

题目描述给定字符串 str,检查其是否包含连续重复的字母(a-zA-Z),包含返回 true,否则返回 false示例1输入'rattler'输出true在正则表达式中,利用()进行分组,使用斜杠加数字表示引用,\1就是引用第一个分组,\2就是引用第二个分组。将[a-zA-Z]做为一个分组,然后引用,就可以判断是否有连续重复的字母。function c...

2019-07-29 11:10:59 1510

原创 【js】判断是否包含数字

题目描述给定字符串 str,检查其是否包含数字,包含返回 true,否则返回 false示例1输入'abc123'输出true1.正则,testfunction containsNumber(str) { var reg=/\d/; return reg.test(str);}2.正则,matchfunction contain...

2019-07-28 23:13:59 8863

原创 【js】属性遍历

题目描述找出对象 obj 不在原型链上的属性(注意这题测试例子的冒号后面也有一个空格~)1、返回数组,格式为 key: value2、结果数组不要求顺序示例1输入var C = function() {this.foo = 'bar'; this.baz = 'bim';};C.prototype.bop = 'bip';iterate(new C());输...

2019-07-28 23:10:12 125

原创 【js】批量改变对象的属性

题目描述给定一个构造函数 constructor,请完成 alterObjects 方法,将 constructor 的所有实例的 greeting 属性指向给定的 greeting 变量。示例1输入var C = function(name) {this.name = name; return this;};var obj1 = new C('Rebecca');alt...

2019-07-28 23:04:23 3131

原创 【js】二进制转换-toString

题目描述将给定数字转换成二进制字符串。如果字符串长度不足 8 位,则在前面补 0 到满8位。示例1输入65输出010000011.最简单的方式,toString+slicefunction convertToBinary(num) { return ('00000000' + num.toString(2)).slice(-8);}2.先转换,再...

2019-07-28 22:50:43 2474

原创 【js】二进制转换-parseInt

题目描述给定二进制字符串,将其换算成对应的十进制数字示例1输入'11000000'输出1921.parseIntparseInt方法的可选参数是操作数的进制说明,不是目标的进制。数字转字符用toString(),字符转数字用parseInt()或者parseFloat().function base10(str) { /* ...

2019-07-28 22:45:40 893

原创 【js】二进制转换-移位运算符

题目描述获取数字 num 二进制形式第 bit 位的值。注意:1、bit 从 1 开始2、返回 0 或 13、举例:2 的二进制为 10,第 1 位为 0,第 2 位为 1示例1输入128, 8输出11.移位运算符>>和&function valueAtBit(num, bit) { return (num >...

2019-07-25 16:51:27 849

原创 【js】模块

题目描述完成函数 createModule,调用之后满足如下要求:1、返回一个对象2、对象的 greeting 属性值等于 str1, name 属性值等于 str23、对象存在一个 sayIt 方法,该方法返回的字符串为 greeting属性值 + ', ' + name属性值声明对象有两种常见的方式:var obj = {};和var obj = new Object();...

2019-07-25 16:40:13 205

原创 【js】且运算、或运算

一、题目描述返回参数 a 和 b 的逻辑且运算结果示例1输入false, true输出false且运算符"&&"的运算规则是:如果第一个运算子的布尔值为true,则返回第二个运算子的值(注意是值,不是布尔值);如果第一个运算子的布尔值为false,则直接返回第一个运算子的值,且不再对第二个运算子求值。function and(a, ...

2019-07-25 16:21:43 3800

原创 【js】函数柯里化

题目描述已知 fn 为一个预定义函数,实现函数 curryIt,调用之后满足如下条件:1、返回一个函数 a,a 的 length 属性值为 1(即显式声明 a 接收一个参数)2、调用 a 之后,返回一个函数 b, b 的 length 属性值为 13、调用 b 之后,返回一个函数 c, c 的 length 属性值为 14、调用 c 之后,返回的结果与调用 fn 的返回值一致...

2019-07-25 16:12:57 173

原创 【js】使用 apply 调用函数

一、题目描述实现函数 callIt,调用之后满足如下条件1、返回的结果为调用 fn 之后的结果2、fn 的调用参数为 callIt 的第一个参数之后的全部参数示例1输入无输出无arguments并非真正的数组,因此要获得callIt的第一个参数之后的所有参数,不能直接使用slice方法截取,需要先将arguments转换为真正的数组才行。有两种常见的方法...

2019-07-25 15:41:32 868

原创 【js】使用 arguments

题目描述函数 useArguments 可以接收 1 个及以上的参数。请实现函数 useArguments,返回所有调用参数相加后的结果。本题的测试参数全部为 Number 类型,不需考虑参数转换。示例1输入1, 2, 3, 4输出10arguments能获得函数对象传入的参数组,类似与一个数组,能够通过length获取参数个数,能通过下标获取该位置的参数,但是...

2019-07-25 15:30:07 265

原创 【js】二次封装函数

题目描述已知函数 fn 执行需要 3 个参数。请实现函数 partial,调用之后满足如下条件:1、返回一个函数 result,该函数接受一个参数2、执行 result(str3) ,返回的结果与 fn(str1, str2, str3) 一致示例1输入var sayIt = function(greeting, name, punctuation) { return g...

2019-07-25 15:21:15 371

原创 使用闭包

题目描述实现函数 makeClosures,调用之后满足如下条件:1、返回一个函数数组 result,长度与 arr 相同2、运行 result 中第 i 个函数,即 result[i](),结果与 fn(arr[i]) 相同示例1输入[1, 2, 3], function (x) {return x * x;}输出41.闭包functio...

2019-07-25 15:11:11 104

原创 函数传参

题目描述将数组 arr 中的元素作为调用函数 fn 的参数示例1输入function (greeting, name, punctuation) {return greeting + ', ' + name + (punctuation || '!');}, ['Hello', 'Ellie', '!']输出Hello, Ellie!1.applyfunc...

2019-07-25 14:57:34 159

原创 流量控制(js)

题目描述实现 fizzBuzz 函数,参数 num 与返回值的关系如下:1、如果 num 能同时被 3 和 5 整除,返回字符串 fizzbuzz2、如果 num 能被 3 整除,返回字符串 fizz3、如果 num 能被 5 整除,返回字符串 buzz4、如果参数为空或者不是 Number 类型,返回 false5、其余情况,返回参数 num示例1输入15...

2019-07-25 14:48:44 465

原创 计时器

题目描述实现一个打点计时器,要求1、从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 12、返回的对象中需要包含一个 cancel 方法,用于停止定时操作3、第一个数需要立即输出1.setIntervalfunction count(start, end) { console...

2019-07-15 22:24:46 388

原创 正确的使用 parseInt

题目描述修改 js 代码中 parseInt 的调用方式,使之通过全部测试用例示例1输入'12'输出12示例2输入'12px'输出12示例3输入'0x12'输出0function parse2Int(num) { return parseInt(num,10);}parseInt(strin...

2019-07-15 20:40:16 505

原创 正确的函数定义

题目描述请修复给定的 js 代码中,函数定义存在的问题示例1输入true输出a给定的js:function functions(flag) { if (flag) { function getValue() { return 'a'; } } else { function getValue() { return 'b'...

2019-07-15 20:37:49 670

原创 查找元素位置

题目描述在数组 arr 中,查找值与 item 相等的元素出现的所有位置示例1输入'abcdefabc'输出[0, 6]1.filterfunction findAllOccurrences(arr, target) { var a=[]; arr.filter(function(item,index,arr){ if(it...

2019-07-15 20:32:41 591

原创 求二次方

题目描述为数组 arr 中的每个元素求二次方。不要直接修改数组 arr,结果返回新的数组示例1输入[1, 2, 3, 4]输出[1, 4, 9, 16]1.map方法function square(arr) { return arr.map(function(item, index, array) { //也可以写成function(i...

2019-07-15 20:27:18 212

原创 查找重复元素

题目描述找出数组 arr 中重复出现过的元素示例1输入[1, 2, 4, 4, 3, 3, 1, 5, 3]输出[1, 3, 4]重复的元素item:第一个item和最后一个item索引不同function duplicates(arr) { var a = []; for (var i = 0; i < arr.length; i+...

2019-07-10 18:13:15 482

原创 计数

题目描述统计数组 arr 中值等于 item 的元素出现的次数示例1输入[1, 2, 4, 4, 3, 4, 3], 4输出31.filterfunction count(arr, item) { var a=[]; a=arr.filter(function(v,i,a){ return a[i]==item; ...

2019-07-10 18:03:02 162

原创 添加元素

题目描述在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组示例1输入[1, 2, 3, 4], 'z', 2输出[1, 2, 'z', 3, 4]1.splicefunction insert(arr, item, index) { var newarr=arr.slice(0); newarr...

2019-07-10 17:56:07 136

原创 数组合并

题目描述合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组示例1输入[1, 2, 3, 4], ['a', 'b', 'c', 1]输出[1, 2, 3, 4, 'a', 'b', 'c', 1]1.concatfunction concat(arr1, arr2) { return arr1.concat(arr2)...

2019-07-10 17:50:53 7984

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除