JavaScript中,数组的基本使用

    数组就是某类数据的集合,数组的类型可以是数值型、字符串型,甚至是对象。利用数组的特性,可以在数组中存储一组同类型的数据。JavaScript本身只支持一维数组,不支持多维数组。在用到二维数组时,可以将一维数组的分项定义为一个数组。二维数组本质上就是用数组构成的数组。

一、数组的创建与赋值

1.使用构造函数

使用构造函数进行数组的创建与赋值,代码如下:

var arr1 = new Array(); // 空数组
var arr2 = new Array(5); // 指定数组长度
var arr3 = new Array("a","b","c"); // 定义并赋值

当无法提前预知数组最终元素个数时,可声明未知个数的数组:

var fruit = new Array();
fruit[0] = 'Apple';
fruit[1] = 'Banana';
fruit[2] = 'Orange';

2.对数组直接赋值

对数组直接赋值的代码如下:

var arr4 = ['a','b','c','d'];

二、数组的访问与修改

通过指定数组名及索引号,可以访问某个特定的元素

document.write(fruit[0]); // Apple

如需修改已有数组中的值,只要向指定索引号添加一个新值即可

fruit[0] = 'Pear';

JavaScript的数组不需要预先设定长度,会自己进行扩展,“数组名.length”会返回数组中的元素个数。

三、常用的数组方法

对数组操作的常用方法包括数组元素的增加、删除、截取和合并等

1.push()

push()将一个或多个新元素添加到数组末尾,并返回数组新长度:

arrayObj.push([item1[,item2[,...[,itemN]]]]);

使用push()方法可以把它的参数按顺序添加到arrayObj的尾部。它直接修改arrayObj,而不是创建一个新的数组。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>数组</title>
</head>
<body>
  <script>
    var arr1 = [1,2];
    var len = arr1.push(3,4);
    document.write(`长度为${len} -- 数组中的数据:${arr1}`);
  </script>
</body>
</html>

2.unshift()

unshift()将一个或多个新元素添加到数组前端,原来数组中的元素自动后移,返回数组新长度

arrayObj.unshift([item1[,item2[,...[,itemN]]]]);

在数组前端插入新数据

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>数组</title>
</head>
<body>
  <script>
    var arr2 = [1,2];
    var len = arr2.unshift(3,4);
    document.write(`长度为${len} -- 数组中的数据:${arr2}`);
  </script>
</body>
</html>

3.shift()

shift()用于把数组的第一个元素从数组中删除,并返回该元素的值;

arrayObj.shift();

如果数组是空的,那么shift()方法将不进行任何操作,返回undefined值

删除数值前端的元素

 var username = new Array();
    username[0] = 'Jack';
    username[1] = 'Suan';
    username[2] = 'Bob';
    document.write(`${username}<br />${username.shift()}<br />${username}`)

4.pop()

pop()用于把数组的最后一个元素从数组中删除,并返回该元素的值

arrayObj.pop();

删除数组尾部的元素

var username = new Array();
    username[0] = 'Jack';
    username[1] = 'Suan';
    username[2] = 'Bob';
    document.write(`${username}<br />${username.pop()}<br />${username}`)

5.slice

slice()用于以数组的形式返回数组的一部分,即截取数组的一部分:

arrayObj.slice(start,[end]);

【提示】数值截取时不包括end对应的元素。如果省略end,那么将复制start之后的所有元素。

var arr3 = new Array();
    arr3[0] = 'one';
    arr3[1] = 'two';
    arr3[2] = 'three';
    arr3[3] = 'four';
    arr3[4] = 'five';
    var temp = arr3.slice(2,4);
    document.write(`arr3:${arr3}<br/>temp:${temp}`);

6.concat()

concat()将多个数组(也可以是字符串,或者数组和字符串的混合)连接为一个数组,返回连接好的新数组:

arrayObj.concat([item1[,item2,[,...itemN]]]);

该方法不会改变现有的数组,而是返回被连接数组的副本。该副本数组将所有item参数添加到arrayObj中。如果要进行concat()操作的参数是数组,那么添加的是数组中的元素,而不是数组。

    var arr3 = new Array();
    arr3[0] = 'one';
    arr3[1] = 'two';
    arr3[2] = 'three';
​
    var arr4 = new Array();
    arr4[0] = 'four';
    arr4[1] = 'five';
    arr4[2] = 'six';
​
    var temp = arr3.concat(arr4);
    document.write(`arr3:${arr3}<br/>arr4:${arr4}<br/>temp:${temp}`);

7.sort()

sort()用于对数组元素排序

sort([item1[,item2[...,itemN]]]);

对数组中的数据进行排序

var username = new Array();
username[0] = 'Jack';
username[1] = 'Suan';
username[2] = 'Bob';
username[3] = 'Mary';
username[4] = 'Jamie';
​
document.write(`${username}<br />${username.sort()}`)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值