數(shù)組去重
var arr = [1,2,3,4,4,2,2,6,9,1,0];
var newArr = [];
var onOff = true;
for(var i = 0;i<arr.length;i++){
onOff = true;
for(var j = 0;j<newArr.length;j++){
if(newArr[j]==arr[i]){
onOff = false;
}
}
if(onOff){
newArr.push(arr[i]);
}
}
console.log(newArr)
//方法二
var arr = [1,2,3,4,4,2,2,6,9,1,0];
var obj = {};
arr.forEach((e,i)=>{ //把arr的信息統(tǒng)計到obj里面
if(obj[e]===undefined){ //其實是利用對象屬性是否存在做了一層遍歷
obj[e] = 1
}else{
obj[e]++
}
});
console.log(Object.keys(obj))
洗牌算法
function shuffle(arr) {
var i = arr.length, t, j;
while (i) {
j = Math.floor(Math.random() * i--); //生成數(shù)組的隨機index
t = arr[i]; //
arr[i] = arr[j];
arr[j] = t;
}
console.log(arr)
}
var arr = [1, 3, 5, 7, 9]
shuffle(arr)
寫一個函數(shù)舷暮,統(tǒng)計字符串里出現(xiàn)出現(xiàn)頻率最多的字符
var str = 'abcdefffdddddd';
var obj={};
for(var i=0;i<str.length;i++){
var t = str[i];
if(obj[t]){
obj[t]++;
}else{
obj[t] = 1;
}
}
console.log(obj);
var max=0,tKey;
for(key in obj){
if(obj[key] > max){
max = obj[key];
tKey = key;
}
}
console.log(tKey)
冒泡排序
function bubbleSort(arr) {
var len = arr.length;
for (var i = 0; i < len; i++) {
for (var j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j+1]) { //相鄰元素兩兩對比
var temp = arr[j+1]; //元素交換
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
var arr=[3,44,38,5,47,15,36,26,27,2,46,4,19,50,48];
console.log(bubbleSort(arr));//[2, 3, 4, 5, 15, 19, 26, 27, 36, 38, 44, 46, 47, 48, 50]