JavaScript数组

JavaScript数组


JavaScript的数组本质是object类型的,可以存放不同类型的值,且大小可变,但尽量存相同类型的值


定义数组

有两种方式:

  1. new创建:

    // 第一种
    var arr1 = new Array(); // 创建一个空数组
    arr1[1] = 'b'; // 给数组指定位置赋值,跳过的位置的值将为undefined
    arr1.push('c'); // 向数组添加一个数据
    console.log(arr1); // [empty,b,c],其中empty就是表示这个位置为空,即undefined
    console.log(arr1[0]); // undefined
    
    // 第二种
    var arr2 = new Array('a', 'b', 'c'); // 创建的同时初始化
    
  2. 字面量定义:最简洁,这种用的最多

    var arr = ['a', 'b', 'c'];
    

遍历数组

主要有for,for…in…和forEach,最基本的for循环不再说明

var arr = ['a', 'b', 'c'];
// for...in...遍历,推荐使用这种
for (var i in arr) {
    console.log(arr[i]);
}

// forEach遍历
arr.forEach(function(value, index){ // index可以省略
    console.log(index, value);
})

结果如下
在这里插入图片描述


常用方法

  1. push:向数组尾部添加元素,可以一次性添加多个元素

  2. pop:删除并返回数组最后一个元素

  3. unshift:向数组头部添加元素,可以一次性添加多个元素

  4. shift:删除并返回数组第一个元素

  5. concat:拼接数组,原数组不会改变,例如:

    var arr1 = ['a', 'b', 'c'];
    var arr2 = [1, 2, 3];
    var arr3 = ['x', 'y', 'z'];
    var arr4 = arr1.concat(arr2, arr3);
    console.log(arr4); // ["a", "b", "c", 1, 2, 3, "x", "y", "z"]
    
  6. reverse:颠倒数组,会改变原数组,例如:

    var arr1 = ['a', 'b', 'c'];
    var arr2 = arr1.reverse();
    console.log(arr1); // ["c", "b", "a"]
    console.log(arr2); // ["c", "b", "a"]
    
  7. join:用指定字符,将数组元素链接字符串,不会改变原数组,例如:

    var arr1 = ['a', 'b', 'c'];
    console.log(arr1.join('*')); // а*b*c
    
  8. splice:替换操作,前两个参数表示起始位置和结束位置,后面的参数表示要替换成的元素,起始和结束位置都会被替换,返回被替换下来的元素,例如:

    var arr1 = ['a', 'b', 'c', 'd'];
    var arr2 = arr1.splice(1, 2); // 要替换成的元素缺省,等于删除元素
    console.log(arr1); // ["a", "d"]
    console.log(arr2); // ["b", "C"]
    
    arr1 = ['a', 'b', 'c', 'd'];
    arr1.splice(1, 2, 'hello', 'world', '你好'); // 替换元素
    console.log(arr1); // ["a", "hello", "world", “你好", "d"]
    
    arr1 = ['a', 'b', 'c', 'd'];
    arr1.splice(1, 0, 'hello', 'world'); // 结束位置小于起始位置,相当于没有选择元素,等于指定位置插入元素
    console.log(arr1); // ["a", "hello", "world", "b", "c", "d"]
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值