今天总结一些数组常用的方法:
| 序号 | 方法 | 定义 | 返回值 |
|---|---|---|---|
| 1 | push() | 向数组的末尾增加一项或多项 | 数组的新长度 |
| 2 | unshift() | 向数组的开头增加一项或多项 | 数组的新长度 |
| 3 | pop() | 删除数组最后一项 | 被删除的数组项 |
| 4 | shift() | 删除数组的第一项 | 被删除的数组项 |
| 5 | splice() | 删除数组中的任一项 | 被删除的数组项 |
| 6 | slice() | 复制数组中的某一段元素 | 复制到的新数组 |
| 7 | concat() | 把 a数组 和 b数组 拼接在一起 | 拼接好的数组 |
| 8 | join() | 把数组中的每一项按照指定的分隔符拼接成字符串 | 拼好的字符串 |
| 9 | reverse() | 倒序数组 | 数组的倒序 |
1、push() :可向数组的末尾添加一个或多个元素,并返回新的长度。
语法
arrayObject.push(newelement1,newelement2,....,newelementX)
参数详情
| 参数 | 描述 |
|---|---|
| newelement1 | 必需。要添加到数组的第一个元素。 |
| newelement2 | 可选。要添加到数组的第二个元素。 |
| newelementX | 可选。可添加多个元素。 |
说明
push() 方法可把它的参数按顺序添加到arrayObject的末尾,它直接修改arrayObject,而不是创建一个新数组。
push() 方法和pop() 方法使用数组提供的先进后出栈的功能。
代码
// unshift() 末尾添加一个或多个元素
var arr1 = ['0','1','2','3'];
// arr1.push('one')
// console.log(arr1) // ["0", "1", "2", "3", "one"]
// 多个参数
// arr1.push('one','tow')
// console.log(arr1) // ["0", "1", "2", "3", "one", "tow"]
arr1.push('one','tow','three')
console.log(arr1) // ["0", "1", "2", "3", "one", "tow", "three"]
2、unshift() :可向数组的开头添加一个或多个元素,与 push() 方法相反。
语法
arrayObject.unshift(newelement1,newelement2,....,newelementX)
参数详情
| 参数 | 描述 |
|---|---|
| newelement1 | 必需。要添加到数组的第一个元素。 |
| newelement2 | 可选。要添加到数组的第二个元素。 |
| newelementX | 可选。可添加多个元素。 |
说明
unshift() 方法将把它的参数插入arrayObject的开头部位,也是直接修改arrayObject,而不是创建一个新数组。
该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素 1,以此类推。
代码
// unshift() 开头添加一个或多个元素
var arr1 = ['0','1','2','3'];
// arr1.unshift('one')
// console.log(arr1) // ["one","0", "1", "2", "3"]
// 多个参数
// arr1.unshift('one','tow')
// console.log(arr1) // ["one", "tow", "0", "1", "2", "3"]
arr1.unshift('one','tow','three')
console.log(arr1) // ["one", "tow", "three", "0", "1", "2", "3"]
3、pop() :用于删除并返回数组的最后一个元素。
语法
arrayObject.pop()
说明
pop()方法将删除arrayObject的最后一个元素,把数组的长度减1,并且返回它删除的元素的值。如果数组已经为空,则pop()不改变数组,并返回undefined。
代码
// pop() 删除最后一位
var arr1 = ['0','1','2','3'];
arr1.pop()
console.log(arr1) // ["0", "1", "2"]
4、shift() :把数组的第一个元素从其中删除,并返回第一个元素。
语法
arrayObject.shift()
说明
如果数组是空的,那么shift() 方法将不进行任何操作,返回undefined 。
该方法不创建新数组,而是直接修改原有的arrayObject。
代码
// shift() 删除第一位
var arr1 = ['0','1','2','3'];
arr1.shift()
console.log(arr1) // ["1", "2", "3"]
5、splice() :删除数组中的任意项,然后返回被删除的项目。
语法
arrayObject.splice(index,howmany,item1,.....,itemX)
参数详情
| 参数 | 描述 |
|---|---|
| index | 必需。整数,规定添加/删除元素的位置,使用负数可从数组结尾处规定位置。 |
| howmany | 可选。要删除的元素数量。如果是0,则不会删除元素。 |
| item1,…,itemX | 可选。向数组添加新的元素。 |
说明
splice() 方法可删除从index 处开始的零个或多个元素,并用参数列表中声明的一个或多个值来替换那些被删除的元素。
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
代码
// splice() 删除任一元素,也可替换
var arr1 = ['0','1','2','3'];
arr1.splice(1,2,'one','two') //索引是1,删除两个,替换为'one','two'
console.log(arr1) // ["0", "one", "two", "3"]
6、slice() :可以从已有的数组中返回选定的数组
语法
arrayObject.slice(start,end)
参数详情
| 参数 | 描述 |
|---|---|
| start | 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。 |
| end | 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。 |
说明
该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。
可使用负值从数组的尾部选取元素。
如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。
代码
// slice() 复制数组
var arr1 = ['0','1','2','3'];
// var arr2 = arr1.slice(1,3) //从索引是1的开始,到索引是2的结束(不包含结束的)
// console.log(arr2) // ["1", "2"]
var arr2 = arr1.slice(-3) //索引是-3(倒数第三个开始,不写第二个参数说明一直到结尾)
console.log(arr2) // ["1", "2", "3"]
7、concat() :用于连接两个或多个数组。
语法
arrayObject.concat(arrayX,arrayX,......,arrayX)
参数详情
| 参数 | 描述 |
|---|---|
| arrayX | 必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。 |
说明
该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。
如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。
返回一个新的数组。
代码
// concat() 连接两个或多个数组
var arr1 = ['0','1','2','3'];
var arr2 = ['one','two','three'];
var str1 = 'hello'
// var arr3 = arr1.concat(arr2) //arr1+arr2
// console.log(arr3) // ["0", "1", "2", "3", "one", "two", "three"]
var arr3= arr1.concat(arr2, str1) //arr1+arr2+str1(字符串)
console.log(arr3) // ["0", "1", "2", "3", "one", "two", "three", "hello"]
8、join() :用于把数组中的所有元素放入一个字符串。
语法
arrayObject.join(separator)
参数详情
| 参数 | 描述 |
|---|---|
| separator | 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。 |
说明
该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入 separator 字符串而生成的。
返回一个字符串。
代码
// join() 数组中的所有元素放入一个字符串。
var arr1 = ['0','1','2','3'];
var str1 = arr1.join('-'); // 逗号分隔
console.log(str1) // 0-1-2-3
9、reverse() :用于颠倒数组中元素的顺序。
语法
arrayObject.reverse()
说明
该方法会改变原来的数组,而不会创建新的数组。
代码
// reverse() 倒序数组
var arr1 = ['0','1','2','3'];
arr1.reverse();
console.log(arr1) // ["3", "2", "1", "0"]
参考文献
菜鸟教程: https://www.runoob.com
W3school: https://www.w3school.com.cn
本文详细介绍了JavaScript数组的九种核心操作方法,包括push()、unshift()、pop()、shift()、splice()、slice()、concat()、join()和reverse()。每种方法都附有详细的解释、语法和示例代码,帮助读者掌握数组的基本操作。
3539

被折叠的 条评论
为什么被折叠?



