- 博客(43)
- 资源 (3)
- 收藏
- 关注
原创 JavaScript - 基础面函数 - 找到异常值
JavaScript - 基础面函数 - 找到异常值将获得一个数组, 数组长度至少为 `3`, 该数组要么为 :除了一个`奇数`, 其余的全为`偶数`, `奇数`为异常值除了一个`偶数`, 其余的全为`奇数`, `偶数`为异常值我们要做的就是找到这个异常值, 并返回这个异常值function findOutlier(arr){ var even = arr.filt...
2019-01-18 11:37:21
449
原创 JavaScript - 基础面函数 - 验证PIN码
JavaScript - 基础面函数 - 验证PIN码ATM机允许4或6位PIN码,PIN码不能包含4位数或6位数字。如果函数传递了有效的PIN字符串,则返回true,否则返回false。 start 最多的方案返回的是布尔值, 加上是正则, 调用 正则的 test 方法 刚好合适function validatePIN(pin) { return /^(\d{...
2019-01-15 16:12:33
815
1
原创 JavaScript - 基础面函数 - XXOO
检查字符串是否具有相同数量的'x'和'o'。该方法必须返回一个布尔值并且不区分大小写。示例:XO("ooxx") => true XO("xooxx") => false XO("ooxXm") => true XO("zpzpzpp") => true // when no 'x' and 'o' is present should return t
2019-01-14 20:27:22
7153
原创 JavaScript - 基础面函数 - 格式化系列之一
JavaScript - 基础面函数 - 格式化系列之一给定:包含名称的数组返回:一个字符串格式化为由逗号分隔的名称列表,除了最后两个名称,应该用&符号分隔。function list(names){ return names.reduce(function(prev, current, index, array){ if (index === 0){ ...
2019-01-14 15:09:17
218
原创 JavaScript - 基础面函数 - 0 ~ n 之间的数字之和
求 0 - n 之间的数字之和,需要把 步骤 写出来输入: 5 , 输出: 0+1+2+3+4+5 = 15输入: 0 , 输出: 0=0输入:-1 , 输出: -1<0var SequenceSum = (function() { function SequenceSum() {} SequenceSum.showSequence = function(co...
2019-01-14 12:03:55
495
原创 JavaScript - 基础面函数 - 去掉字符串的头和尾
JavaScript - 基础面函数 - 去掉字符串的头和尾删除掉字符串的 第一个 和 最后一个 单词不用担心字符串小于两位的情况function removeChar(str) { return str.slice(1, -1);}function removeChar(str){ return str.substring(1,str.length-1)};r...
2019-01-14 09:24:31
8232
原创 JavaScript - 基础面函数 - 优惠卷函数
JavaScript - 基础面函数 - 优惠卷函数 注 : 优惠卷的时间格式一样function checkCoupon(enteredCode, correctCode, currentDate, expirationDate){ return enteredCode === correctCode && Date.parse(expirationDate)...
2019-01-13 10:34:24
345
原创 JavaScript - 基础面函数 - 找到最短 | 最长的数
JavaScript - 基础面函数 - 找到最短 | 最长的数 返回的是: 这个字符串的长度弊端: 只能判断 `Number` 类型// 找到最短的数function findShort(s){ return Math.min.apply(null, s.split(' ').map(w => w.length));}// 找到最长的数function...
2019-01-12 20:05:30
360
原创 JavaScript - 基础面函数 - 取出字符串的中间数
JavaScript - 基础面函数 - 取出字符串的中间数如果长度是偶数, 取中间两个如果长度是奇数, 取中间一个function getMiddle(str){ return str.substr(Math.ceil(str.length / 2 - 1), str.length % 2 === 0 ? 2 : 1)} ...
2019-01-12 15:04:11
1314
原创 JavaScript - 基本面函数 - 如果第一个参数能同时被第二个参数 and 第三个参数整除 就返回 true 否则返回 false
function isDivisible(n, x, y) { return n % x === 0 && n % y === 0}
2019-01-12 09:50:40
438
原创 JavaScript - 基本面函数 - 找到数组中所有返回 true 的数并计算长度
JavaScript - 基本面函数 - 找到数组中所有返回 true 的数并计算长度, 需要考虑到`意外`的情况function isTrue(array) { return array.filter(Boolean).length;}
2019-01-12 09:20:41
1497
原创 JavaScript - 基本面函数 - 求出数组的和 判断是 "even" or "odd"
JavaScript - 基本面函数 - 求出数组的和 判断结果是 "even" or "odd"function oddOrEven(arr) { return arr.reduce((a,b)=>a+b,0) % 2 ? 'odd' : 'even';}
2019-01-09 19:31:06
1019
原创 JavaScript - 基本面函数 - 求数组中所有大于`1`的和, 如果都是`负数`或者`空数组`那么返回`0`
JavaScript - 基本面函数 - 求数组中所有大于`1`的和, 如果都是`负数`或者`空数组`那么返回`0`推荐使用 第二种 function positiveSum (arr) { // 最让人接受的方法 var total = 0; for (i = 0; i < arr.length; i++) { if (arr[i] > 0) {...
2019-01-09 16:35:54
707
原创 JavaScript - 基本面函数 - 返回字符串中的 最大值 和 最小值
JavaScript - 基本面函数 - 返回字符串中的 最大值 和 最小值函数里面: 两种写法的返回值是一样的.有一个是 调用了 隐式类型转换另外一个是 调用了 显示类型转换推荐是的是用 显示类型转换. 这样对于代码的执行速度比较高function maxnumAndminnum(numbers) { numbers = numbers.split(' ...
2019-01-09 15:06:18
2064
原创 ES6 Peomise详解
如果你看了我的上一篇文章,也就是 jQuery.Deferred 那么这篇文章应该很好理解点击查看~/** * Promise * 这是一个简单的 promise * new Promise : 定义了一个 promise 对象 * resolve : 这是定义成功执行的回调函数 * reject : 这是定义失败执行的回调函数 * then : 传入两个函数, 一个...
2018-12-09 20:00:06
768
原创 jQuery.deferred()详解
/** 请注意 这个代码是结合 阮老师 的博客来实现的. * 网址 http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html * 如果有不懂的请看 阮老师 的网址 */// JQ 1.5 版本之前的 AJAX 方法/** * success : 这是一个成...
2018-12-08 16:35:18
305
原创 Promise 封装 Ajax 方法
var Tool = { ajax: function(obj) { return new Promise((resolve, reject) => { var url = obj.url || location.href; var type = obj.type || 'get'; var d...
2018-12-08 11:03:36
190
原创 jQuery.when() 方法详解
/** 请注意 这个代码是结合 阮老师 的博客来实现的. * 网址 http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html * 如果有不懂的请看 阮老师 的网址 */// JQ 1.5 版本之前的 AJAX 方法/** * success : 这是...
2018-12-08 10:53:41
10935
原创 js中Object的keys()方法和values()方法还有entries()方法
对Object中的索引进行循环let obj = { name:"张三", sex:"男", age:20, height:150}for ( let key of Object.keys(obj)){ console.log(key)}// name// sex// age// height对Object中的值进行循环。...
2018-08-24 11:48:35
15217
2
原创 javascript中对象的assign()方法
javascript中对象的assign()方法Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。语法:Object.assign(target,...sources)参数:target:新对象,用来接受的对象sources:源对象。返回值:目标对象,新对象。示例:1.用来把几个对象合并到一个对象...
2018-08-24 11:09:54
15683
4
原创 javascipt中fill()方法
fill()方法用以个固定值来填充数组中的空值接受三个参数value:用来填充数组的值start:起始位置。默认从0开始。end:结束位置,不包含结束位置,默认值是整个数组返回值:修改后的数组ps:此方法会修改原数组示例:1.此方法把数组中本来的值修改let a = [1,2,3,4];console.log(a.fill(4));//(4) [4...
2018-08-24 00:26:16
331
原创 ES6中Array.find()方法和Array.findIndex()方法
两种方法不会改变原数组该方法在第一次调用回调函数的时候就已经确定好索引,在find()方法执行之后再添加到的不会被执行,而删除的项通向会被执行到,值是undefined。 let a = [1,2,3,4,5,6,7,8,9]a.find(function(item,index,arr){ if(index == 0){ a.push("10"); ...
2018-08-23 23:45:55
7588
1
原创 es6新增的Array.of()方法
Array.of()方法Array.of() 方法用于将一组值,转换为数组。Array.of(3, 11, 8) // [3,11,8]Array.of(3) // [3]Array.of(3).length // 1Array.of总是返回参数值组成的数组。如果没有参数,就返回一个空数组。这个方法的主要目的,是弥补数组构造函数Array()的不足。因为参数个数的不同,会导致...
2018-08-23 11:40:38
373
原创 es6中Array.from()和数组去重
Array.from()1.复制数组,如果传的是数组,将把数组复制一份传给新数组。let arr = [1,2,3,4,5];let arr2 = Array.from(arr);console.log(arr) // [1,2,3,4,5]console.log(arr2) // [1,2,3,4,5]2.如果是伪数组,将会转成数组在赋给新数组。...
2018-08-23 10:39:33
4629
原创 javascript中的for...of循环
for...of循环这个直接看代码吧1.遍历数组 var arr = [1,2,3,4,5]; for(let val of arr.values()){ console.log(val) } //1 //2 //3 //4 ...
2018-08-22 22:58:41
1783
原创 es6中reduce()方法和reduceRight()方法
es6中reduce()方法从左往右开始参数:prev:它是上一次调用回调时返回的结果,每次调用的结果都会给prevcur:当前的元素index:当前的索引arr:循环的数组返回值:函数累计处理的结果demo:求数组的和。var a = [1,2,3,4,5,6,7,8,9,10]var str = a.reduce(function(prev,c...
2018-08-22 20:52:15
4093
原创 ES6新增的padStart()方法和padEnd()方法
padStart()用于在开头位置补全字符串语法:'abc'.padStart(10, '0123456789')// '0123456abc' 参数:接受两个参数:第一个参数是用来指定字符串的长度,如果该值低于当前字符串的长度,则将按原样返回当前字符串第二个参数是用来补全的字符串,如果此字符串太长而无法保持在目标长度内,则会截断该字符串并应用最左侧的部分,如果省略...
2018-08-21 23:41:20
3328
原创 es6新增repeat() 方法
repeat() 构造并返回一个新字符串,该字符串包含被连接在一起的指定数量的字符串的副本。其实就是相当于把一个字符串复制了很多份。相信再开发中经常会碰到需要造假数据,有时候甚至需要很长的。有了这个后就可以方便的造重复数据了语法:/** * str: String * count: Number */let resultString = str.repeat(coun...
2018-08-21 22:08:13
2521
原创 ES6新增方法:startsWith()方法和endsWith()方法来判断字符串以什么开头或者什么结尾
startsWith()方法该startsWith()方法确定字符串是否以指定字符串的字符开头,返回true或false视情况而定。判断字符串以什么开头一般的话是用于来判断是否以http://开头或者以file:///开头参数接受两个参数第一个参数,要在此字符串开头搜索的字符,第二个参数是指定从字符串开始的位置,默认从零开始。注意:此方法区分大小写; ...
2018-08-21 14:35:12
14014
1
原创 javascript中的逻辑运算符优先级
javascript中的逻辑运算符优先级逻辑运算符分为:&& (逻辑与)、|| (逻辑或) 、! (逻辑非 ) 而其中的 && 和 || 都是短路运算。逻辑与(&&) : A && B 如果A为true时,无论B是true还是false,都会返回B; 如果A为fa...
2018-08-20 17:30:58
5107
原创 JavaScript中filter()方法
filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。 var words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];const result = words.filter(word => word.length > 6);console.log(r...
2018-08-18 01:46:17
1979
原创 javascript 中forEach方法
数组的forEach方法(IE9+支持)返回:undefined forEach 方法按升序为数组中 含 有效值的每一项执行一次callback函数,那些已删除(使用daleta方法等情况) 或者未初始化的项将被跳过(但不包括那些指为undefined的项 ) ; 方法接受一个回调函数,回调函数接受三个参数:当前项、索引、操作的数组var array1 = ['a', '...
2018-08-18 00:06:06
4769
原创 javascript 中map()方法和for...in的区别
数组的map方法(IE9+支持)返回新数组 方法接受一个回调函数,回调函数接受三个参数:当前项、索引、操作的数组 不影响原来的数组 var a = [1,2,6,5,8]; //map方法,返回一个新数组,每个项处理完成后的结果组成的新数组。 //对原数组没有影响 var m = a.map(function(item,index,array){ //item :就是房...
2018-08-17 18:48:32
2319
原创 every()迭代方法
every()迭代方法对数组中每一项运行给定函数,如果该函数对每一项都返回true,则返回true如果有其中一项返回false.那么返回false并退出执行.语法:arr.every(fn[,thisArg])fn :用来测试每个元素的函数,接受三个参数。thisArg:执行 fn 时使用的 this 值。一般不会用得到这个参数。描述:every方法为数组中...
2018-08-07 13:30:31
1484
原创 JavaScript 中的 some() 方法
some()方法 语法: arr.some(fn[, thisArg]) 参数 fn是用来测试每个元素的函数,接受三个参数: item:数组中正在处理的元素。 index:数组中正在处理的元素的索引值。array:some()被调用的数组。thisArg:执行 callback 时使用的 this 值。 2.描述:some 为数组中...
2018-08-07 11:21:10
40808
4
原创 indexOf()方法和lastIndexOf()方法还有新增的includes()方法
indexOf()和lastIndexOf()方法操作两个方法都接收两个参数:要查找的项和要查找的起始位置的索引。 indexOf()是从数组的开始向后查找 lastIndexOf()是从数组的末尾向前查找第一个参数:要在数组中定位的元素。第二个参数:用于开始搜索的索引。如果索引大于或等于数组的长度,则返回-1,这意味着不会搜索该数组。如果提供的索引值为...
2018-08-06 18:32:35
4331
原创 splice()方法 使用介绍
接下来的方法估计是数组中最强大的方法了,有很多种用法,1.删除任意数量的项,只需要传入两个参数即可。要删除的第一项的位置和要删除的项数 环境 先声明一个数组。 var str = []; str[0] = "red"; str[1] = "yellow"; str[2] = "black"; str...
2018-08-05 23:33:05
29413
5
原创 将类数组转换成数组的方法——slice()的使用
这边文章分两部分,第一部分是slice()的使用,第二部分是用slice将类数组转换成数组第一部分:官方文档说:slice是用来截取选取数组的,可传入一个或两个参数,返回值是新数组,不会影响原数组。 先new了Array一个数组 str var str = new Array(); str[0] = 1; str[1] = 2;...
2018-08-05 21:26:18
3134
原创 push()和concat()的区别。
一般在数组末尾添加元素用push方法就可以了,但是这样会改变原有数组的数据所以就有了concat方法concat方法是在原有的基础上添加元素并返回链接之后的副本,并不会修改原有的数组。不说废话了,直接上图:new一个实例var arr = new Array();arr[0] = 1;arr[1] = 2;arr[2] = 3;下面分别用两种方法添加元素var arr...
2018-08-05 19:55:13
6851
1
原创 数组重排和反转
数组中已存在两个用来排序的方法:reverse()和sort()方法 只是用来反转数组的话用reverse方法就可以了 var arr = [1,5,6,42,89,2,1]arr.reverse(); //反转数组,不够灵活 所以才有了sort()方法console.log(arr); //[1, 2, 89, 42, 6, 5, 1] ...
2018-08-04 11:50:16
940
JavaScript设计模式
2018-08-31
JavaScript模式中文[pdf] 百度云
2018-08-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人