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)会出错,可以先转成整型再操作

二、内容在总结中

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

 
原文地址:https://www.cnblogs.com/Renyi-Fan/p/12907980.html