原生js
程序员文章站
2022-06-09 20:06:56
...
想找个地缝装进去的一天
数组去重
var arr=[10,20,30,30,20,10,50,50,50,50,100,66]
var json={};
var Arr=[];
for(var i=0;i<arr.length;i++){
var name=arr[i];
json[name]=1;
console.log(i)
}
for(var name in json){
Arr.push(name)
}
console.log(Arr)
冒泡排序
1、比较相邻的两个元素,如果前一个比后一个大,则交换位置。
2、比较完第一轮的时候,最后一个元素是最大的元素。
3、这时候最后一个元素是最大的,所以最后一个元素就不需要参与比较大小。
function Asort(arr) {
var len=arr.length;
for(var i=0;i<len-1;i++){
for(var j=0;j<len-1-i;j++){
if(arr[j]>arr[j+1]){
var text=arr[j]
arr[j]=arr[j+1]
arr[j+1]=text
}
}
}
return arr
}
myArr=[12,30,4,55,44,88,66]
Asort(myArr)
console.log(myArr)
99乘法表
for(let i=1;i<=9;i++){
let result='';
for(let j=1;j<=i;j++){
arr+=`${i}*${j}=${i*j}`;
}
console.log(arr)
99乘法表倒过来
for(let i=9;i>=1;i--){
let arr='';
for(let j=1;j<=i;j++){
arr+=`${i}*${j}=${i*j}\t`;
}
console.log(arr)
打印数组中出现最多的
function GetArrayMost(arr){
var arrMap = new Map();
var key = arr[0],
value = 1;
arr.forEach((item, index) => {
if (arrMap.get(item) !== undefined) {
let num = arrMap.get(item);
arrMap.set(item, ++num);
} else {
arrMap.set(item, 1);
}
if (arrMap.get(item) > value) {
key = item;
value = arrMap.get(item);
}
});
return [key,value];
}
//测试
var arr = [1,2,3,4,5,6,7,1,12,3,3,3,3,3,3,3,3,3]
console.log(
"次数最多的元素为:",
GetArrayMost(arr)[0],
",次数为:",
GetArrayMost(arr)[1]
)