JavaScript—数组


JavaScript-数组

一、创建数组

  1. new

​ 语法:

var 数组名 = new Array(); //创建空数组

※ 注意大写的A

  1. 利用数组字面量创建数组(常用)

​ 语法:

var 数组名 = [];

​ 利用数组字面量创建数组可以给数组赋初始值(数组初始化),数组中的元素要用逗号分隔。

​ 数组中的元素可以是任意类型,比如数字型,字符型,布尔型等。

二、访问数组元素

  1. 数组的索引

​ 索引(下标):用来访问数组的序号,数组下标从0开始

    var arr = ['张三', '李四', '王五', '刘六'];
      //索引号:   0      1      2       3

​ 例如:

console.log(arr[1]);

​ 将会在控制台输出:李四。

  1. 遍历数组

​ 通过循环把数组中的元素从头到尾访问一次。

​ 例如:

    var arr = ['张三', '李四', '王五', '刘六'];
    for (var i = 0; i < 3; i++){
        console.log(arr[i]);
    };

​ 由于数组下标从0开始,所以 i 要从0开始,因为数组下标最大为3,所以for循环的条件为i < 3。

​ 结果便是在控制台依次输出:张三,李四,王五,刘六。

三、数组长度

​ 使用数组名.length可以访问数组的数量(数组长度)。

​ 在遍历数组时,for循环的条件一般不使用明确的数组,因为当数组元素非常多时,去数元素个数是比较麻烦也是不明智的选择,而且数组中的元素可能会进行增删,数组下标也会随之变化。

​ 所以在实际开发中,遍历数组时for循环的条件应改为i < arr.length比较合适。

​ 即:

    var arr = ['张三', '李四', '王五', '刘六'];
    for (var i = 0; i < arr.length; i++){
        console.log(arr[i]);
    };

四、新增数组元素

  1. 修改length长度。

​ 数组length值可以获取,也可以修改,修改方法就是直接给数组名.length 赋值。

​ 例如:

    var arr = ['张三', '李四', '王五', '刘六'];
    arr.length = 5;

​ 此时,数组arr中有5个元素,当然,由于没有给第五个元素赋值,所以第五个元素为空且默认值为undefined。

  1. 修改数组索引号新增数组元素

​ 例如,想在数组arr中追加一个元素“王八”:

    var arr = ['张三', '李四', '王五', '刘六'];
    arr[4] = '王八'

​ 同时,可以通过这种方法修改已有的数组元素,例如arr[1] = '李九';,数组中的 ‘李四’ 便被修改为 ‘李九’ 。

注意:如果新增或修改元素的数据类型为字符型,需要加引号;不要直接给数组名赋值,否则数组中的元素会全部被覆盖。


五、综合案例

案例1:筛选数组元素

将数组arr = [2,0,6,1,77,0,52,0,25,7]中大于10的元素筛选出来并存入一个新数组。

var arr = [2,0,6,1,77,0,52,0,25,7];
var newArr = [];
for (var i = 0; i < arr.length; i++){
    if (arr[i] > 10){
        newArr[newArr.length] = arr[i];
    };
};

案例2:调换元素顺序

将数组arr = ['red','green','blue','pink','yellow']中的内容反过来存放。

var arr = ['red','green','blue','pink','yellow'];
var newArr = [];
for (var i = arr.length - 1; i >= 0; i--){
    newArr[newArr.length] = arr[i];
};

案例3:数组排序(冒泡排序)

将数组arr[3,5,4,1,2]中的元素从小到大排序。

原理:一次比较两个元素,如果不符合排序,则将这两个元素交换位置。

var arr = [3,5,4,1,2];
for (var i = 0; i <= arr.length; i++){
    for (var j = 0; j <= arr.length - i - 1; j++){
        if (arr[j] > arr[j + 1]){
            var temp = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = temp;
        };
    };
};

文章作者: Cikian
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Cikian !
评论
  目录