1、数组去重
let arr = [1,2,3,4,5,1,2,2,1];
function clearRepeat(arr){
return [...new Set(arr)];
}
function clearRepeat1(arr){
let obj = {};
let newArr = [];
arr.forEach(element => {
if(!obj[element]){
obj[element] = 1;
newArr.push(element);
}
})
return newArr;
}
2、js获取URL中参数值
var newurl = 'http://dev.cekid.com:9018/r/products?store_code=8002&city
code=320100&cityname=%E5%90%88%E8%82%A5%E5%B8%82&cityid=340100&
entityid=8029&entityname=%E5%90%88%E8%82%A5%E7%BE%8E%E6%B8%B8'
function getUrl(url){
let newArr = [];
let urlArr = url.slice(url.indexOf('?') + 1).split('&');
urlArr.forEach(element => {
var obj = {}
var arr = element.split('=');
obj[arr[0]] = arr[1];
newArr.push(obj);
});
return newArr;
}
3、排序
-
冒泡排序
var arr = [1,2,4,3,6,9,7,6,8,5]; function incSort(arr){ let len = arr.length; let mid; for(var i = len - 1; i > 0; i--){ for(var j = 0; j < i; j++){ if(arr[j] > arr[j+1]){ mid = arr[j]; arr[j] = arr[j+1]; arr[j+1] = mid; } } } return arr; } console.log(incSort(arr)); //[1, 2, 3, 4, 5, 6, 6, 7, 8, 9]
4、去除字符串前后的空格
var str = ' abc 1 ';
function trim(str){
return str.replace(/^\s+|\s+$/g,'');
}
console.log(trim(str)) // "abc 1"
5、找出一段英文字符串中出现次数最多的单词
var str = "hello thank funny hello what suck it dick thank";
function findMostWord(str){
var arr = str.split(" ");
var obj = {};
var len = arr.length;
for(var i = 0; i < len; i++){
if(obj[arr[i]]){
obj[arr[i]] += 1;
}else{
obj[arr[i]] = 1;
}
}
var max = 0;
var result;
for(var key in obj){
if(obj[key] > max){
max = obj[key];
result = key;
}
}
return result;
}
console.log(findMostWord(str)); //hello
bug:有多个结果时只能返回第一个
6、字符串翻转
let str = "abcdefg";
function reverse(str){
return str.split('').reverse().join('');
}
console.log(reverse(str)); // "gfedcba"
7、数组降序排列
let arr = [1,4,2,9,5,6];
function descending(arr){
arr.sort(function(a,b){
return b-a;
})
return arr;
}
console.log(descending(arr)) // [9, 6, 5, 4, 2, 1]
8、对象的深度克隆
function clone(obj){
if(obj instanceof Array || obj instanceof Object){
var buf = obj instanceof Array ? [] : {};
for(var key in obj){
buf[key] = typeof obj[key] === 'object' ? clone(obj[key]) : obj[key];
}
return buf;
}else{
return obj;
}
}
var obj = {a:1,b:2}
var obj1 = clone(obj);