js笔记(四) 算法

算法

1.反转

    var str="abcdefg";
    var str2=str.split("").reverse().join("");
    console.log(str2)         //gfedcba
  • split() 把一个字符串分割成字符串数组。
  • reverse() 颠倒数组中元素的顺序。
  • join() 把数组中的所有元素放入一个字符串。

2.去重复

   var str="abcbadcba";
   var str1=str.split("");
   var str2=[];
   for(var i=0;i<str1.length;i++){
        if(str2.indexOf(str1[i])==-1){
            str2.push(str1[i]);
        }
    }
    console.log(str2.join("")) ;     //abcd
  • indexOf() 检索的字符串值没有出现,则返回 -1
  • push() 向数组的末尾添加一个或多个元素

3.排序

   var arr=[3,34,38,5,,15,36,26,27,2,4,19,50,48];
   var str=arr.sort((a,b)=>a-b);
   console.log(str) //2, 3, 4, 5, 15, 19, 26, 27, 34, 36,38,48,50
  • sort() 对数组进行排序,需加上排序函数

4.归并

var num=[1,2,3,4,5];
var result=num.reduce(function(pre,cur,index,array){
    return pre+cur;
});
var result2=num.reduceRight(function(pre,cur,index,array){
    return pre+cur;
});
console.log(result);  //15
console.log(result2);  //15

解释:
(1)第一次执行回调函数时,pre是1,cur是2,
(2) 第二次pre是3(1加2的结果),cur是3(数组的第三项),这个过程会持续到把数组的中的的每一项都访问一遍,最后返回结果。
(3)reduceRight()方法作用与reduce()类似,只不过方向相反而已。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值