
算法
cqj0008
这个作者很懒,什么都没留下…
展开
-
查找指定元素在数组中的个数
1.用 filter 返回删除的数组 function count(arr, item) { // 返回值是删除不符合条件的元素 var count = arr.filter(function(a) { // 返回true的项组成的数组 return a === item;原创 2017-12-19 23:29:27 · 6323 阅读 · 0 评论 -
在数组后面添加指定元素
1.用push方法function append(arr, item) {// 定义新数组,slice截取 var newarr = arr.slice(0); // 添加到新的数组 newarr.push(item); // 返回新数组 return newarr}2.用concat连接返回值var append3 = function(arr, ite原创 2017-12-17 16:02:12 · 5196 阅读 · 0 评论 -
删除元素,在原数组上
用indexOf方法查找下标function removeWithoutCopy(arr, item) { for(var i=0;i<arr.length;i++){ // 获取指定元素的下标 var a=arr.indexOf(item); // 根据下标直接删除元素 arr.splice(a,1); } // 返回原数组原创 2017-12-17 15:41:32 · 498 阅读 · 0 评论 -
根据指定的元素删除数组中相同的元素
用slice截取的方法function remove(arr,item){// 定义一个新数组,从0截取到最后,返回值是截取后的新数组 var newarr = arr.slice(0); for(var i=0;i<newarr.length;i++){ // 判断新数组的元素是否与指定的元素相等 if(newarr[i] == item){原创 2017-12-17 15:26:38 · 5740 阅读 · 0 评论 -
数组的求和
1.数组的求和 : 设置一个变量默认值function sum(arr) { var sum = 0; // 设置默认值 for(var i=0; i < arr.length; i++) { sum += arr[i]; // 循环相加 } return sum // 返回总数}2.递归的方法function sum(arr) { var原创 2017-12-16 01:15:36 · 2405 阅读 · 0 评论 -
找出数组中元素的位置
找出数组中元素的位置: 判断indexOf是否存在function indexOf(arr, item) {// 用原型判断indexOf是否存在 if (Array.prototype.indexOf){ return arr.indexOf(item); } else { // 是在IE for (var i = 0; i < arr.length; i++原创 2017-12-16 00:58:07 · 16665 阅读 · 0 评论 -
闭包的使用
思路: 先定义一个空的数组,for循环遍历数组,把数组里面的元素push到空的数组中,因为返回的是回调函数,i值需要传递进去,函数里面返回一个函数,再返回函数的元素,最后把定义的数组返回出去;1.闭包的使用(i值的传递)function makeClosures(arr, fn) {// 定义一个空的数组 var result = []; for (var i = 0; i < a原创 2017-12-24 21:34:41 · 165 阅读 · 0 评论 -
修改this的指向
1.apply方法function speak(fn, obj) {// 第一个参数就是改变this的指向,把相应的对象写上// 第二个参数是空的或者 obj return fn.apply(obj);}2.call 方法function speak(fn, obj) { return fn.call(obj);}3.bind方法function speak(fn, obj)原创 2017-12-24 16:44:45 · 240 阅读 · 0 评论 -
传参数
1.apply方法function argsAsArray(fn, arr) {// fn 的代表父函数 ,apply是一个集合形式, arr 就是集合数组 return fn.apply(this, arr);}2.call 方法function argsAsArray(fn, arr) { // fn 代表父函数 , call 是一个一个参数 , arr[0] arr[1] 代表的参原创 2017-12-24 16:23:49 · 183 阅读 · 0 评论 -
条件判断
1.流程1function fizzBuzz(num) {// 判断num 不是unmber的情况(注意 typeof 单词)// arguments.length ==0 判断num 是为空的情况 if (arguments.length ==0 || typeof num !== 'number') { return false; // 能被5和3 整原创 2017-12-24 15:59:40 · 225 阅读 · 0 评论 -
计时器
1.用setTimeout()方法function count(start, end) {// 判断前面的时间小于等于后面的时间 if(start <= end){ console.log(start); // 进行++ 操作 start++; // 不用var 就是代表全局的,使用延迟调用,只执行一次代码 s原创 2017-12-23 16:03:37 · 181 阅读 · 0 评论 -
判断是否完全相等
1.用全等于号function identity(val1, val2) {// ===代表是全等于 return val1 === val2 ? true : false}2.function identity(val1, val2) {// 判断两个值是不是NAN的情况if ((val1 !== val1)&&(val2 !== val2)) { return true;原创 2017-12-23 12:25:42 · 636 阅读 · 0 评论 -
保留合法数字,其他的去掉
1.正则match方法function parse2Int(num) {// 用正则match()查符合条件的元素 return parseInt(num.match(/^\d+/)[0]);}2.用十进制解决function parse2Int(num) {// 第二个参数表示进制数 return parseInt(num,10);}3.用parseFloat 方法func原创 2017-12-23 12:03:26 · 375 阅读 · 0 评论 -
函数的声明的提升
1.三目运算function functions(flag) {// 利用三目运算,返回结果 function getValue() { return 'flag' ? 'a' : 'b'; } return getValue();}2.函数的声明的提前function functions(flag) { if (flag) { // 把函数赋予一个变量,避免函数原创 2017-12-23 11:49:48 · 249 阅读 · 0 评论 -
查找元素的位置(下标)
1.用forEach循环,再判断function findAllOccurrences(arr, target) {// 定义一个空的数组var temp = []; arr.forEach(function(val,index){ // 不等于指定的值,或者等于的时候返回下标(把下标添加到空的数组) val !== target || temp.push(in原创 2017-12-21 00:08:01 · 4982 阅读 · 0 评论 -
元素的平方
1.用 map 方法返回function square(arr) { return arr.map(function(e) { // 返回元素的平方 return e * e; }) }2.用for 循环,再用数组的几次方,返回新的数组function square(arr) {// 定义一个新的数组 var arrNew = [原创 2017-12-20 23:52:09 · 480 阅读 · 0 评论 -
查找数组重复的元素
1.用sort 先排序,再判断条件,添加到数组function duplicates(arr) {// 定义一个a变量接收数组进行排序,变量b为空的 var a=arr.sort(),b=[]; for(var i in a){ // 判断两个条件(当前的相等于前面的一个)且(b空数组里面没有这个元素) if(a[i]==a[i-1] && b.indexOf(a原创 2017-12-20 00:07:12 · 439 阅读 · 0 评论 -
删除数组最后一项,不在原数组操作
1.定义一个新的数组接收原数组,删除最后一个再返回function truncate(arr) { var newArr = arr.slice(0); newArr.pop(); return newArr;}2.用slice截取的方法function truncate(arr) {// 返回截取到最后一项,包头不包尾 return arr.slice(0,-1原创 2017-12-18 20:59:22 · 1637 阅读 · 0 评论