微信扫一扫打赏支持

js刷题爬坑---1、day 1

js刷题爬坑---1、day 1

一、总结

一句话总结:

算法要掌握的语法基础可以非常少

 

1、js数组的遍历注意点?

1、下标从0开始
2、多维数组就是按下标拿到的子元素
3、不连续数组也可以用for...in循环

 

2、空格符替换:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。?

a、方法的参数用脑子去记,没必要过分强记,将什么替换成什么,那么参数非常好记:return str.replace('','%20');
b、不用正则的话只能替换一个,js中的正则是左斜线包着的:return str.replace(/\s/g,'%20');

 

 

3、js遍历字符串?

js中的字符串就是字符数组:for(let i in str){}

 

 

4、js字符串函数忘记之后怎么办?

字符函数忘记之后,可以遍历字符串来模拟

 

5、从尾到头打印链表:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。?

1、js中如何实现链表:直接用对象即可,对象的属性来表示,点也就表示->
2、链表的循环很容易将while写成if:while循环中的while很容易写成if
/*function ListNode(x){
    this.val = x;
    this.next = null;
}*/
function printListFromTailToHead(head)
{
    // write code here
    let arr=[];
    while(head!==null){
        arr.push(head.val);
        head=head.next;
    }
    arr.reverse();
    return arr;
}

 

 

6、js链表的基本写法?

直接构造函数,里面是val属性和next属性
function ListNode(x){
    this.val = x;
    this.next = null;
}

 

 

7、js的array的slice方法注意?

留头不留尾

 

8、js的for...in循环中的i的巨坑?

for(let i in vin){}中的i是字符串,理解也是很好理解,所以后面用这个i做操作比如pre.slice(1,i+1)会出错,可以先转成整型再操作

 

 

 

 

二、内容在总结中

博客对应课程的视频位置:

 

 

 

 

 
posted @ 2020-05-18 01:10  范仁义  阅读(178)  评论(0编辑  收藏  举报