一、数组中新增元素
1.可以通过修改length长度以及索引号增加数组元素
2.通过修改length线长度新增数组元素
(1)可以通过修改length长度来实现数组扩容的目的
(2)length属性是可读写的
(3)其实索引号4,5,6的空间没有给值,就是声明变量未给值,默认值就是undefined
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// 1. 新增数组元素 修改length长度
var arr = ['hello word 1', 'hello word 2', 'hello word 3']
console.log(arr.length); // 3
arr.length = 5; // 我们把数组长度修改为 5 里面应该有5个元素
console.log(arr.length);
console.log(arr[3]); // undefined
console.log(arr[4]);
</script>
</head>
<body>
</body>
</html>
3.通过修改数组索引新增数组元素
(1)可以通过修改数组索引的方式追加数组元素
(2)不能直接给数组名赋值,否则会覆盖掉以前的数据
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// 2. 新增数组元素 修改索引号 追加数组元素
var arr1 = ['hello word 1', 'hello word 2', 'hello word 3'];
arr1[3] = 'hello word 4';
console.log(arr1);
arr1[0] = 'hello word' // 这里是替换原来的数组元素
console.log(arr1);
arr1 = '你好世界';
console.log(arr1); // 不要直接给 数组名赋值 否则里面的数组元素都没有了
</script>
</head>
<body>
</body>
</html>
二、冒泡排序
1.摘要
(1)冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端
2.算法
(1)一共需要的趟数,我们用外层for循环
5个数据我们一共需要走4趟
长度就是 数组长度 减去1 arr.length-1
(2)每一遍交换次数 我们 用里层for循环
第一趟 交换 4次
第二趟 交换 3次
第三趟 交换 2次
第四趟 交换 1次
长度就是 数组长度 减去 次数
但是我们次数是从0次开始的 所以 最终 arr.length - i -1
(3)交换两个变量就好了
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// 冒泡排序
var arr = [4, 2, 3, 1, 5];
for (var i = 0; i <= arr.length - 1; i++) { // 外层循环管趟数
for (var j = 0; j <= arr.length - i - 1; j++) { // 里面的循环管 每一趟的交换次数
// 内部交换2个变量的值 前一个和后一个数组元素相比较
if (arr[j] < arr[j + 1]) {
var temp = arr[j]
arr[j] = arr[j + 1]
arr[j + 1] = temp
}
}
}
console.log(arr);
</script>,
</head>
<body>
</body>
</html>