在程序语言中数组的重要性不言而喻,JavaScript中数组也是最常使用的对象之一,数组是值的有序集合,由于弱类型的原因,JavaScript中数组十分灵活、强大,不像是Java等强类型高级语言数组只能存放同一类型或其子类型元素,JavaScript在同一个数组中可以存放多种类型的元素,而且是长度也是可以动态调整的,可以随着数据增加或减少自动对数组长度做更改。
数组是JavaScript中常见的一个对象,它有一些经典的操作,比如数组的增、删、改、查。在这篇文章中主要整理这方面的相关操作方法。
增加数组项
首先来看如何给一个数组增加数组项。假设有一个数组:
var arr = [];
上面声明了一个数组,但这个数组是一个空数组 [] ,其 length 的值为 0 。接下来我们看如何给数组 arr 增加数组项。最简单的方法可以通过索引值方式,给数组增加数组项:
var arr = []; arr[0] = 'a'; arr[1] = 'b'; arr[2] = 1; arr[3] = 2; console.log(arr); // ["a", "b", 1, 2] console.log(arr.length); // 4
另外也可以通过改为数组的 length 值给数组增加数组项,不过这种方法给数组增加的数组项都是 undefined :
var arr = []; arr[0] = 'a'; // 给数组arr添加一个`a`数组项 arr.length = 5; // 改变数组的`length`值为`5` console.log(arr); // ["a", undefined × 4]
虽然这种方法也给数组增加了数组项,但相对来说都较为麻烦。其实给数组添加数组项,没有这么麻烦,可以通过数组提供的原生方法给数组添加数组项。
push()
使用 push() 方法可以给数组末尾添加一个或多个数组项。
var arr = []; arr.push('a','b'); console.log(arr); // ['a','b'] unshift()
使用 push() 方法可以给数组末尾添加一个或多个数组项,那么使用 unshift() 方法可以在数组的前面添加一个或多个数组项:
var arr = ['a','b']; arr.unshift(1,2); console.log(arr); // [1, 2, "a", "b"]
除了这两种方法之外,还可以使用 splice() 方法给数组添加数组项:
var arr = ['a','b','c',1,2]; arr.splice(2,0,'d','c','e'); console.log(arr); // ["a", "b", "d", "c", "e", "c", 1, 2]
另外除了 splice() 方法之外还可以使用 concat() 方法可以给数组添加数组项,只不过使用这种方法不会改变原数组,会在原数组中创建一个新数组:
var arr = ['a','b','c']; var arr2 = arr.concat('d',1,2,['e',3]); console.log(arr); // ["a", "b", "c"] console.log(arr2); // ["a", "b", "c", "d", 1, 2, "e", 3]
删除数组项
对于数组的操作,除了增加数组项,很多时候还需要对数组进行删除操作。删除数组项常用的方法有 pop() 和 shift() 两种方法。
pop()
pop() 方法可以从数组的末尾删除一个数组项:
var arr = ['a','b','c','d',1,2]; arr.pop(); console.log(arr); // ["a", "b", "c", "d", 1]
shift()
shift() 方法和 pop() 方法刚好相反,它可以删除数组的第一项:
var arr = ['a','b','c','d',1,2]; arr.shift(); console.log(arr); // ["b", "c", "d", 1, 2]
不管是 pop() 或 shift() 方法每次只能给数组删除一个数组项,但很多时候这样删除数组项相对来说是比较麻烦的。在数组的操作中,除了这两种方法之外,还可以通过 slice() 和 splice() 方法来删除数组项。
slice()
slice() 方法可以给一个数组中删除多个数组项,只不过不同的是, slice() 不会影响原数组,只是会在原数组基础上创建一个数组副本:
var arr = [1,2,3,4,'a','b']; var arr2 = arr.slice(2); console.log(arr); // [1, 2, 3, 4, "a", "b"] console.log(arr2); // [3, 4, "a", "b"] console.log(arr3); // ["a", "b"]
splice()
splice() 方法除了能给数组添加数组项之外,还可以给数组删除数组项:
var arr = [1,2,3,4,'a','b','c']; var arr2 = arr.splice(2,2); console.log(arr); // [1, 2, "a", "b", "c"] console.log(arr2); // [3, 4]
改变数组
数组中 splice() 方法是数组中一个强大的方法,其除了可以给数组添加数组项、删除数组项之外,还可以改变一个数组:
var arr = [1,2,3,4,5,6]; var arr2 = arr.splice(2,3,'a','b','c'); console.log(arr); // [1, 2, "a", "b", "c", 6] console.log(arr2); // [3, 4, 5]
数组的查询
这里所说的数组查询其实指的是数组的查询提取。其使用的方法是 slice() 方法:
var arr = [1,2,3,4,5,6]; var arr2 = arr.slice(-3); console.log(arr); // [1, 2, 3, 4, 5, 6] console.log(arr2); // [4, 5, 6]
总结
这里简单的整理了一个数组的增、删、改、查的相关方法。简单的总结一下:
增加数组项方法:除了直接改变数组项的值和修改数组的 length 给数组添加数组项方法之外,还可以使用 push() 、 unshift() 、 concat() 和 splice() 添加数组项
删除数组项方法:删除数组项方法有 pop() 、 shift() 、 slice() 和 splice() 方法
改变数组项方法:在数组中主要通过 splice() 方法来改变数组项
查询数组项方法: 查询数组项方法其实就是对数组做查询提取功能,主要使用的方法是 slice() 方法
有关于 pop() 、 push() 、 shift() 和 unshift() 操作方法可以点击这里;关于 concat() 、 slice() 和 splice() 方法的相关介绍可以点击这里。
有关JavaScript学习笔记之数组的增、删、改、查小编就给大家介绍到这里,希望对大家有所帮助!更多有关javascript知识请登陆网站官网了解详情!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
- 黄宝欣.1992-黄宝欣金装精选2CD【HOMERUN】【WAV+CUE】
- 群星.1996-宝丽金流行爆弹精丫宝丽金】【WAV+CUE】
- 杜德伟.2005-独领风骚新歌精选辑3CD【滚石】【WAV+CUE】
- 安与骑兵《心无疆界》[低速原抓WAV+CUE]
- 柏菲唱片-群星〈胭花四乐〉2CD[原抓WAV+CUE]
- 金典女声发烧靓曲《ClassicBeautifulSound》2CD[低速原抓WAV+CUE]
- 王杰1992《封锁我一生》粤语专辑[WAV+CUE][1G]
- 群星《一人一首成名曲 (欧美篇)》6CD[WAV/MP3][7.39G]
- 东来东往2004《回到我身边·别说我的眼泪你无所谓》先之唱片[WAV+CUE][1G]
- MF唱片-《宝马[在真HD路上]》2CD[低速原抓WAV+CUE]
- 李娜《相信我》新时代[WAV+CUE]
- 2019明达发烧碟MasterSuperiorAudiophile[WAV+CUE]
- 蔡幸娟.1993-相爱容易相处难【飞碟】【WAV+CUE】
- 陆虎.2024-是否愿意成为我的全世界【Hikoon】【FLAC分轨】
- 关淑怡.2009-ERA【星娱乐】【WAV+CUE】