[JS] 浅谈数组几种基本用法

首先,我们得知道 数组 是什么?

数组 即有序的元素序列,简而言之就是一组数据的集合。其表现形式就是内存中的一段连续的内存地址。

特点:数组定义时,无需指定数据类型、无需指定数组长度、可以存储任何数据类型的数据。

创建方式:
1. 使用 Array 构造函数:

let arr1 = new Array(); //创建一个空数组
let arr2 = new Array(20); // 创建一个 length 为 20  的数组
let arr3 = new Array("George","John","Thomas"); // 创建一个包含3个字符串的数组

2. 使用数组字面量表示法:

let arr1 = []; //创建一个空数组
let arr2 = [20]; // 创建一个 length 为 20  的数组
let arr3 = ["George","John","Thomas"]; // 创建一个包含3个字符串的数组

获取数组长度: arr.length;

数组常用几种方法: push()和pop()、shift() 和 unshift()、slice()和 splice()、join()、concat()、reverse()、
1. push()pop()
push(): 向数组的末尾添加一个或多个元素,并返回新的长度。

let arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr.push("James")); 
document.write(arr);  // 输出 George,John,Thomas,James

pop():用于删除并返回数组的最后一个元素。

let arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr.pop() + "<br />");  // 输出 Thomas
document.write(arr);  // 输出 George,John

2. shift()unshift()
shift():用于把数组的第一个元素从其中删除,并返回第一个元素的值。

let arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr.shift() + "<br />");  // 输出 George
document.write(arr);  // 输出 John,Thomas

unshift(): 向数组的开头添加一个或更多元素,并返回新的长度 。

let arr = new Array()
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr.unshift("William") + "<br />");
document.write(arr);  // 输出 William,George,John,Thomas

注释push()和pop()、shift() 和 unshift() – 都是直接修改数组,而不是创建一个新的数组,会改变数组长度。

3. slice()splice()
slice(): 从已有的数组中返回选定的元素。 并不会修改数组,而是返回一个子数组。

let arr = ["George","John","Thomas","James","Adrew","Martin"]; 
document.write(arr.slice(2,4) + "<br />")  // Thomas,James
document.write(arr)  // George,John,Thomas,James,Adrew,Martin

splice(): 用于添加或删除数组中的元素。会修改数组
用法: arrayObject.splice(index,howmany,item1,…,itemX)
参数:
index: 规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany: 要删除的项目数量。如果设置为 0,则不会删除项目。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
item: 要添加到数组的新元素。

let arr = ["George","John","Thomas","James","Adrew","Martin"]; 
document.write(arr.splice(2,3) + "<br />")  // 输出删除的 Thomas,James,Adrew
document.write(arr)  // 输出 George,John,Martin
let arr = ["George","John","Thomas","James","Adrew","Martin"]; 
document.write(arr.splice(2,3,'Andy') + "<br />")  // 输出删除的Thomas,James,Adrew
document.write(arr)  // 输出 George,John,Andy,Martin

4. join(): 用于把数组中的所有元素放入一个字符串。可使用分隔符进行分隔。

let arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.join()); // 输出 George,John,Thomas

可使用分隔符来分隔数组中的元素:

document.write(arr.join(“.”)); // 输出 George.John.Thomas

5. concat(): 用于连接两个或多个数组。该方法不会改变现有的数组。

let a = [1,2,3];
document.write(a.concat(4,5)); // 输出 1,2,3,4,5
let arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

let arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"

document.write(arr.concat(arr2)) ; // 输出 George,John,Thomas,James,Adrew,Martin

6. reverse(): 用于颠倒数组中元素的顺序。

let arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />"); // 输出 George,John,Thomas
document.write(arr.reverse()); // 输出 Thomas,John,George
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值