一、求数组中所有数的总和以及平均值
var a = [12, 432, 56, 76, 546];
for (var i = 0, sum = 0, bir = 0; i < a.length; i++) {
sum += a[i];
bir = sum / a.length;
}
alert(`${sum}`);
console.log(bir);
二、求数组中的最大值
var b = [23, 34, 66, 98, 54, 56, 87];
var max = b[0];
for (var i = 1; i < b.length; i++) {
if (max < b[i]) {
max = b[i];
}
}
console.log(b);
console.log(max);
三、将数组转换字符串 并用 | 或 其他符号 来分割
var arr = ["red", "blue", "pink", "green"];
var str = "";
var sep = "!";
for (var i = 0; i < arr.length; i++) {
str += arr[i] + sep;
}
console.log(str);
四、新增数组元素 修改length长度
var arr = ["red", "blue", "green"];
console.log(arr.length);
arr.length = 5; // 把数组长度修改为了5 里面有5个元素
console.log(arr);
console.log(arr[3]); // undefined
console.log(arr[4]); // undefined
五、新增数组元素 修改索引号 追加数组
var arr1 = ["red", "blue", "green"];
arr1[3] = "pink";
console.log(arr1);
arr1[4] = "white";
console.log(arr1);
arr1[0] = "yellow"; //这里是替换 索引号的为 0 的元素
console.log(arr1);
arr1 = "啥子都没有了";
console.log("arr1"); // 不要直接给 数组名赋值 否则里面的数组元素都没有了
六、给数组中添加 1-10 的整数
// 新建一个数组 里面存放10个整数(1-10)
// 核心原理 使用循环来追加数组
// 1、声明一个空数组 arr
// 2、循环中的计数器 i 可以作为数组元素存入
// 3、由于数组的索引号是从0 开始的 因此计数器从0 开始更合适 存入的数组元素要+1
var arr = [];
for (var i = 0; i < 10; i++) {
arr[i] = i + 1;
}
console.log(arr);
七、数组中大于10的元素挑选出来放到一个新的数组中
// 1、声明一个新数组 用于存放新数据app
// 2、遍历原来的就数组 找出大于等于10的元素
// 3、依次追加给新数组 app
var arr = [2, 4, 8, 15, 21, 45, 657, 6];
var app = [];
for (var i = 0, j = 0; i < arr.length; i++) {
if (arr[i] > 10) {
// 方法1:
// 新数组应该从0开始 依次递增
/* app[j]=arr[i]
// j++ */
// 方法2:
app[app.length] = arr[i];
}
}
console.log(app);
八、数组去重
// 1、需要一个新数组用于存放筛选之后的数据
// 2、遍历原来的数组 把不是 0 的数据添加到新数组里面(需要注意采用数组名 + 索引的格式接收数据)
// 3、 新数组里面的个数 把length 不断累加
var arr = [12, 34, 564, 43, 23, 12, 54, 12, 76];
var app = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i] != 0) {
app[app.length] = arr[i];
}
}
console.log(app);
九、翻转数组---将数组中的内容反过来存放
var arr = ["red", "pink", "blue", "yellow", "green"];
var app = [];
for (var i = arr.length - 1; i >= 0; i--) {
app[app.length] = arr[i];
}
console.log(app);
十、冒泡排序
// 冒泡排序的原理
var a = 10;
var b = 20;
var c = 0;
c = a;
a = b;
b = c;
console.log(a, b);
var arr = [23, 4, 56, 54, 6, 44, 73, 48, 34, 29, 45];
// 声明一个变量 len 用于保存 数组长度
var len = arr.length;
// 遍历数组 数组长度减一 所以是从数组的最后往前遍历 外层管趟数
for (var i = 0; i < len - 1; i++) {
// 遍历数组 内层管的是每一趟交换的次数 数组长度减一减去索引号
for (var j = 0; j < len - 1 - i; j++) {
// 内部交换2个变量的值 前一个和后一个数组元素相比较
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);