前言
本次主要是继续针对Javascript阶段的数组和字符串的实操练习,共有3个实操,分别是1.实现求出数组中的最大值和最小值 2.字符串反序 3.数组排序(冒泡排序),通过这三个实操,以便于大家可以在实操的过程中更加深入地理解JavaScript数组和字符串以及相关方法的知识。
1、实现求出数组中的最大值和最小值
原理:
- 首先,将数组的第一个元素作为最大值和最小值的初始值。
- 然后,从数组的第二个元素开始遍历,比较每个元素与最大值和最小值的大小。
- 每当遍历到一个元素时,与当前的最大值和最小值进行比较,如果大于最大值,则更新最大值;如果小于最小值,则更新最小值。
- 最后,遍历结束后,得到了数组中的最大值和最小值。
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>实现求出数组中的最大值和最小值</title>
</head>
<body>
<script>
function Sort(array) {
var max = array[0];
var min = array[0];
for (var i = 1; i < array.length; i++) {
if (array[i] > max) {
max = array[i];
}
if (array[i] < min) {
min = array[i];
}
}
return { max: max, min: min };
}
var array = [5, 6, 8, 2, 9, 1, 7];
var result = Sort(array);
console.log(result.max); // 输出:9
console.log(result.min); // 输出:1
</script>
</body>
</html>
实现效果:
2、字符串反序
原理:
split('')
方法将字符串转换为字符数组reverse()
方法将字符数组反转join('')
方法将反转后的字符数组转换为字符串
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>字符串反序</title>
</head>
<body>
<script>
//字符串与数组的转换,数组反转排序
var str = "whatareyoudoing";
console.log(str.split("").reverse().join(""));
</script>
</body>
</html>
实现效果:
3.数组排序(冒泡排序)
原理:
冒泡排序是一种简单的排序算法,它的基本思想是通过相邻元素的比较和交换来对整个数组进行排序。
- 从数组的第一个元素开始,比较相邻的两个元素,如果第一个元素大于第二个元素,则交换它们的位置,否则不交换。
- 接着比较第二个和第三个元素,依次类推,直到最后一个元素。这样一轮比较和交换下来,最大的元素将会被交换到最后的位置上。
- 对除了最后一个元素之外的数组元素重复上述过程,每次比较和交换会将当前未排序部分的最大元素交换到末尾。
- 重复以上步骤,直到所有元素都排序完成。
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>冒泡排序</title>
</head>
<body>
<script>
var arr = [8,3,9,2,6,4,5]
for (var i = 0; i < arr.length - 1; i++) {
console.log("比较轮数:" + (i + 1));
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;
}
console.log("每轮比较次数:" + (j + 1));
}
console.log(arr);
}
</script>
</body>
</html>
实现效果:
总结
如果大家觉得有所帮助,记得点赞收藏和关注哦!