1.除法取整
let sum=7;
sum=sum/10;
我们无法得到sum=0,因为sum会等于0.7,如果想取整,那么请使用Math.floor(),向下取整
sum=Math.floor(sum/10);
如果是除2,可以直接使用右移,sum=sum>>1;可以取得整数
2.Map使用方法
//初始化
let map = new Map();
//添加
map.set('Amy','女')
//是否存在
map.has('Amy') //true
//获取
map.get('Amy') //女
//删除
map.delete('Amy')
3.Set使用方法
//初始化
var set = new Set([1,2,3,5,6])
//添加
set.add(7) //{1, 2, 3, 5, 6, 7}
//删除
set.delete(3) // {1, 2, 5, 6, 7}
//检测
set.has(2) //true
4.js创建二维数组
let arr=Array.from(Array(m),()=>new Array(n));
创建一个m*n的二维数组
5.Array.fill()
arr.fill(0)
填充原数组arr为0,若不指定起始和结束位置,将填充全部
6.js获取二维数组长和宽
let m=arr.length;
let n=arr[0].length
7.slice
let str=s.slice(start,end)
提取start(包括该元素)到end(不包括该元素)在内的子数组/子字符串
8.最大值最小值
let min=Math.min(m,n)
let max=Math.max(m,n)
9.排序
let arr=[5,4,6,7,3]
arr.sort();
自定义排序函数:
var points = [40,100,1,5,25,10];
points.sort(function(a,b){return b-a});
b为当前元素,a为下一个元素
10.尽力不要设置全局变量,否则下次运行的时候,上次运行结束的全局变量还会存在。。。
11.js没有原生栈,需要自己使用数组去模拟,数组中有push和pop方法来模拟栈操作,读取栈顶元素就只能使用arr[arr.length-1]来完成了
12.不要使用swap函数交换数据
一方面,js没有swap函数
另一方面,js使用的是值传递和引用传递,即使自定义交换函数swap,也不会取得意料之中的结果
要交换两个基本数据类型,请直接使用temp进行交换
13.删除数组最后一个元素
arr.pop()
14.js遍历map
1.forEach
map.forEach(function(value,key){
console.log(value,key);
});
2.for of
for(let item of map){
}
//遍历结果是数组
for(let item of map.values()){
}
//遍历属性值
for(let item of map.keys()){
}
//遍历属性
3.entries
for(let item of map.entries()){
}
//遍历结果同forEach
15.js中的string没有sort函数,如果需要排序,请用以下方式:
let temparr=[];
for(let i=0;i<tempstr.length;i++)
temparr.push(tempstr[i]);
temparr.sort();
tempstr="";
for(let i=0;i<temparr.length;i++)
tempstr+=temparr[i];
思路是先将string转为单个字符数组,对字符数组进行排序,然后再拼接
16.二维数组sort排序
会按照每个数组的首项大小进行排序
17.string删除最后一个元素
let s="aaab";
s=s.slice(0,s.length-1);
18.js表示的最大值
最大值
Number.MAX_VALUE这个值为: 1.7976931348623157e+308,即Js能表示的最大的正数
最小值
Number.MAX_VALUE,这个值为 -1.7976931348623157e+308,即Js能表示的最小的负数
Infinity
都代表无穷大,是一个大于任何数的数值
-Infinity
都代表无穷小,是一个小于任何数的数值
19.js随机数
Math.random(),产生0-1随机数,可配合Math.floor来获取整数,如:
let m=1;
let n=10;
let r=Math.floor(m+Math.random()*100%(n-m+1));
可以获取1-10随机整数
20string.reverse
js中,string没有reverse方法,需要转换为字符数组后,利用数组的reverse进行翻转