前端算法基础

2023-11-19 15:08:15 浏览数 (1)

switch

switch case 判断(分支):应用于一个变量在等于不同值情况下(按照“===”比较),做的不同操作 。

switch(需要判断的变量){ };

修改元素的行内样式

1元素对象.style.xx='xxx'; 修改的是元素的行内样式

2console.log(元素对象.style.xx='xxx')获取元素的行内样式(当前样式只有处在行内上,我们才可以获取到;但是如果不写在行内上,哪怕写了样式,我们基于这种办法也无法获取)

3我们在样式中设置元素的背景颜色,如果是16进制的颜色值,JS获取的结果是RGB的值,不方便我们判断,所以我们一般写成“颜色单词 white/black/green/blue/purple.....”

格式化时间字符串

编写一个函数来确定第一个字符串是否包含完整第二个字符串

比如:“abcEnglish ishdef”包含‘English’

字符顺序很重要

大写字母或小写字母都无关紧要--“abcENglish ishdef”包含‘english’也是正确的。

返回值为布尔值,如果第一个字符串包含完整第二个字符串,则返回值为True;如果第一个字符串包含完整第二个字符串,则返回值为False。

代码语言:javascript复制
<script>

function isInclude(str1, str2) {

var len1 = str1.length,

len2 = str2.length;

if (len1 < len2) {

return false;

};

// 迭代第一个字符串中的每一个字符

for (var i = 0; i <= len1 - len2; i  ) {

// 每一轮循环,都从当前索引,向后截取第二个字符串对应的长度个

var char = str1.substr(i,len2);

// 用截取字符串和第二个字符串进行对比,说明第一个字符串中包含了完整第二个字符串

if(char.toLowerCase() === str2.toLowerCase()){

return true;

};

};

// 如果循环了一圈也没发现有包含的,则直接返回false

return false;

};

console.log(isInclude('zhufengpeixun', 'fen'));

</script>

冒泡排序

代码语言:javascript复制
function bubbleSort(arr) {

// 控制比较多少轮(每一轮都是把当前最大值放在末尾)

for (var i = 0; i < arr.length - 1; i  ) {

var flag = false;

// 控制每一轮比较多少次(从数组第一项开始,两两比较)

for (var j = 0; j < arr.length - 1 - i; j  ) {

// 当前项大于后一项,则让两者交换位置

if (arr[j] > arr[j   1]) {

var temp = arr[j];

arr[j] = arr[j   1];

arr[j   1] = temp;

flag = true;

}

}

// 如果当前这一轮,两两比较了一圈,都没有发现需要交换位置的,说明现在的数组就是排好序的,则直接结束循环即可,没必要再比较了

if (!flag) break;

}

return arr;

}

console.log(bubbleSort([8,5,1,147,46,24,7]));

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

0 人点赞