JS基础-数组
程序员文章站
2024-03-23 10:06:52
...
前言
在JavaScript中,如果我们需要使用一个数据或一个值,我们可以直接定义一个变量然后把我们的值赋值给变量。当我们需要传递多个值,使用多个数据的时候,我们就需要用到数组
数组
数组的作用:使用单独的变量名来存储一系列的值
数组的定义
1.字面量的方式定义:var 数组名 = [元素1,元素2,…]
var arr = [];
定义了一个数组名为arr的空数组,里面没有元素
var arr = [1,2,3,'你好','hello'];
定义了一个数组名为arr的数组,数组中有五个元素,值已经赋好
2.构造函数的方式定义: var 数组名 = new Array(元素1,元素2,…)
var arr = new Array();
定义了一个数组名为arr的空数组,里面没有元素
var arr = new Array(5);
定义了一个数组名为arr的数组,里面有5个元素(变量),这五个元素没有值
var arr = new Array(1,2,3,'你好','hello');
定义了一个数组名为arr的数组,里面有5个元素,值已经赋好
数组的索引
1.数组的索引:arr[0],0 即为数组的索引,又称作数组的下标,代表数组中元素的序号。数组的下标从0开始,即arr[0]代表的是数组arr中的第一个元素
var arr = [1,2,3];
arr[0]代表的是数组arr中的第一个元素,即arr[0]的值为1
2.数组的索引可以为变量,也可以为表达式
var i = 0;
var arr = [1,2,3,4];
arr[i]等价于arr[0],即arr[i]的值为1
arr[(i+1)*2]等价于arr[2],即arr[(i+1)*2]的值为3
3.length:表示数组的长度,就是数组中元素的个数
var arr = [1,2,3,4];
var n = arr.length;
这里n=4,表示数组长度为4,数组中元素的个数为4,所以数组中元素的序号从0,1,2一直到arr.length-1,
同时可以得知数组的最大下标为arr.length-1
数组的遍历
数组的下标可以是变量或表达式,所以我们可以通过循环来改变变量的值来遍历数组的每一个元素
1.for循环遍历数组
function fn(){
var arr = [12,23,34,45,56];
// 把数组的所有元素过一遍
for(var i=0;i<arr.length;i++){
console.log(arr[i]);
}
// 把数组的从第一个到倒数第二个元素过一遍,(不要最后一个元素)
for(var i=0;i<arr.length-1;i++){
console.log(arr[i]);
}
}
fn();
2.for…in… 循环遍历数组
function fn(){
var arr = [12,23,34,45,56];
for(var i in arr){
console.log(arr[i]);
}
}
fn();
数组的简单案例
1.利用循环遍历求一组成绩的最大值
function fn() {
// 定义成绩数组
var scores = [85,91,60,51,92,87];
// 求最高成绩
// 1、假定第一个成绩是最高成绩
var max = scores[0]; //max存储的是 前n个数的最大数
// 从第二个成绩开始,一一进行比较,把大记录下来
for(var i=1;i<scores.length;i++){
// 把当前数,和前 n 个数的最大数进行比较。
if(scores[i]>max){
max = scores[i];
}
}
console.log(max);
}
fn();
2.利用循环遍历求一组成绩的平均值
function fn() {
var scores = [85,91,60,51,92,87];
// 1、求和
var sum = 0;
for(var i in scores){
sum = sum + scores[i];
}
// 2、求平均值
var avg = sum/scores.length;
console.log(avg);
}
fu()
补充:for循环与for…in…循环的区别
1、在循环数组时: for in 循环给循环变量赋值为 字符串类型,for in循环必须把所有的元素要循环一遍,普通的for循环给循环变量赋值为 数字类型,普通的for的循环,可以控制循环哪些元素,更加灵活。
2、循环对象: for in循环可以循环对象 普通for循环,没法直接循环对象。
上一篇: 数组坍塌问题
下一篇: 用wihle实现一个乘法表