前端JS-Day16

 

 数组去重例子:

function unique(array) {
    const res = [];
    for (const iterator of array) {
        if(res.indexOf(iterator) === -1) {
            res.push(iterator);
        }
    }
    return res;
}

数组转化为字符串:

 

 

 基本包装类型:

把简单数据类型包装为复杂数据类型,将临时变量赋值并销毁。

Number类型:

toFixed方法自动舍入,toExponential方法返回科学计数法。

 

 字符串的不可变性:字符串内部值不变,内容的改变引发的是地址改变,仅会开辟新的地址空间。

 

字符串所有的方法都不会修改字符串本身(由于字符串的不可变性),会返回一个新的字符串。

字符串统计某个字符例子:

function searchWord(array, word) {
    let index = array.indexOf(word), sum = 0;
    while(index !== -1) {
        console.log(index);
        sum++;
        index = array.indexOf(word, index + 1);
    }
    console.log(word + " " + sum);
    return "";
}

 

统计字符串出现最多字符和次数例子:利用对象存储

for...in遍历对象 for...of遍历数组

function countLetter(str) {
    const letters = {};
    for (const iterator of str) {
        if (letters[iterator]) {
            letters[iterator]++;
        } else {
            letters[iterator] = 1;
        }
    }
    let num = 0, c = '';
    for (const key in letters) {
        if(letters[key] > num) {
            num = letters[key];
            c = key;
        }
    }
    console.log(c + " " + num);
    return '';
}

trim方法用于创建字符串的一个副本且会删除前后的空格字符。

repeat方法用于复制字符串,返回拼接所有副本后的结果。

split方法用于分割字符串,将字符串以函数内的参数分割成数组。

 简单类型(值类型)和复杂类型(引用类型):

堆和栈:

简单数据类型存入栈,操作系统自动分配一个内存空间。

复杂数据类型存入堆,首先在栈里存放地址,这个地址指向堆的真正数据。

 

 

 

 

 

 简单类型传参:

 

 

 复杂类型传参:

 

posted @ 2022-09-02 11:07  HM-7  阅读(25)  评论(0)    收藏  举报