前端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方法用于分割字符串,将字符串以函数内的参数分割成数组。
简单类型(值类型)和复杂类型(引用类型):

堆和栈:
简单数据类型存入栈,操作系统自动分配一个内存空间。
复杂数据类型存入堆,首先在栈里存放地址,这个地址指向堆的真正数据。


简单类型传参:

复杂类型传参:


浙公网安备 33010602011771号