var arr =[10,20,30,40,50];var n =11;// 1. 将n插入数组中
arr.push(n);// 2. 冒泡排序for(var k =0; k < arr.length -1; k++){for(var i =0; i < arr.length -1- k; i++){if(arr[i]> arr[i +1]){var temp = arr[i];
arr[i]= arr[i +1];
arr[i +1]= temp;}}}
console.log('冒泡排序结束后的数组: ', arr);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
二、封装函数, 把数组进行放大十倍的操作
(一)案例分析
写个函数
先拿到数组的每一个值
将每一个值放大 10 倍
(二)代码实现
1、方法一
var arr =[100,200,300]
functionfn(arr){for(var i =0; i < arr.length; i++){// console.log(arr[i])// arr[i] = arr[i] * 10
arr[i]*=10}}fn(arr)
console.log(arr)
1
2
3
4
5
6
7
8
9
10
11
2、方法二
var arr =[100,200,300];
functionmap(arr){var res =[]for(var i =0; i < arr.length; i++){// 末位新增:数组.push( 数据1 , 数据2 ... );
res.push(arr[i]*10)}return res;}var res =map(arr);
console.log(res);
1
2
3
4
5
6
7
8
9
10
11
12
三、生成一个数组,数组内存储的数据是从2开始的所有偶数, 要求数组的长度为 30
(一)案例分析
先创建一个长度为 30的数组
给数组内部每一个位置的成员赋值(赋值要求从2开始的偶数)
(二)代码实现
1、方法一
var arr =newArray(30)// 创建一个长度为 30 的空数组
for(var i =2; i < arr.length; i++){// console.log(i)
// 任何数 * 2 == 偶数
arr[i]=(i +1)*2}
console.log(arr)
1
2
3
4
5
6
7
8
9
2、方法二
var arr =[]for(var i =2; i <=60; i++){if(i %2==0){
arr[arr.length]= i
}}
console.log(arr)
1
2
3
4
5
6
7
3、方法三
var arr =[];for(var i =2; i <=60; i++){if( i %2===0){
arr.push(i)}
i++;}
console.log(arr);
var newArr =[];var sum =0;for(var j =0; j < arr.length; j++){// 把数组中的所有数字累加// console.log(j);
sum += arr[j];
// 判断5个数的时候 计算平均值if((j +1)%5==0){
newArr.push(sum /5);
sum =0//计算平均值结束将sum清0}}
console.log(newArr);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
3、方法二
var sum =0// 定义累加器var count =0// 定义计数器var newArr =[]// 定义空数组 存储平均值
for(var k =0; k < arr.length; k++){// 拿到数组所有的下标// sum = sum + arr[k]
sum += arr[k]// 每次累加 数组的值
count++// 计数器, 计算当前累加了几轮if(count ==5){// 判断 累加了 5 次的时候
newArr.push(sum /5)// 计算平均值, 并且插入到数组
sum =0// 清零
count =0// 清零}}
console.log(newArr)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
五、数组的塌陷
需求: 将数组清空(将数组每一项删除)
var arr =[0,1,2,3,4,5]for(var i =0; i < arr.length; i++){
arr.splice(i,1)
i--}
console.log(arr);for(var i = arr.length -1; i >=0; i--){
arr.splice(i,1)}
console.log(arr)