一、数组排序
遍历数组,把拿到的数据和定义的temp值比较(这里是从小到大)如果数据大于temp值,则将该数据赋值给temp,继续进行遍历。
var arr = [3,7,9,1,5,10];
var temp = 0;
for (var i = 0; i < arr.length; i++){
for (var j = 0; j < arr.length - i; j++){
if (arr[j] > arr[j + 1]){
temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
console.log(arr);
结果为:[1,3,5,7,9,10]
二、数组去除重复元素的方法
先将原数组进行排序;检查原数组中的第i个元素 与 结果数组中的最后一个元素是否相同,因为已经排序,所以重复元素会在相邻位置;如果不相同,则将该元素存入结果数组中。
利用对象的原型方法,代码为:
var arr = [1,5,8,6,4,7,1,8,5,6];
Array.prototype.unique = function(){
this.sort(); //先排序
var res = [this[0]];
for(var i = 1; i < this.length; i++){
if(this[i] !== res[res.length - 1]){
res.push(this[i]);
}
}
return res;
}
console.log(arr.unique());
结果为:[1,4,5,6,7,8]
三、获取字符串中最多的字母
首先定义一个空对象和变量,遍历字符串,将遍历到的字符串赋值给变量,将变量添加到对象中去,之后遍历对象,得到最多的字母和次数
扫描二维码关注公众号,回复:
1857220 查看本文章
var str = “abcdefgsdds”;
var obj = {};
var letter;
for(var i = 0,len = str.length;i<len;i++){
letter = str[i];
if(!obj[letter]){
obj[letter] = 1;
}else{
obj[letter]++;
}
}
var max_key,max_num=0;
for(key in obj){
if(max_num <obj[key]){
max_num = obj[key];
max_key = key;
}
}
document.write(“字母:”+max_key+” 次数:”+max_num);
四、从"abcdefghijklmn"中截取出"klm"
"abcdefghijklmn".substring(11,14);
五、实现字符串翻转
var str="abcd";
str.split("").reverse().join("");