js刷leetcode常用语法

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,也不会取得意料之中的结果

参考:javascript 传值 传引用 swap()_oneraim的博客-CSDN博客_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

参考:https://blog.csdn.net/qq_39997939/article/details/121998943 

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进行翻转

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值