算法
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()类似,只不过方向相反而已。