1、concat
concat() 方法用于连接两个或多个数组。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
语法:arrayObject.concat(array,......,array)
| 参数 | 描述 |
|---|---|
| arrayX | 必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。 |
const arr = [1,2,3] const brr = [4,5] const crr = [6,7] const drr = arr.concat(brr) const err = arr.concat(brr,crr) console.log(drr) //[1,2,3,4,5] console.log(err) //[1,2,3,4,5,6,7]
2、join
join() 方法用于把数组中的所有元素放入一个字符串。
元素是通过指定的分隔符进行分隔的。
语法:arrayObject.join(separator)
| 参数 | 描述 |
|---|---|
| separator | 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。 |
const arr = [1,2,3] console.log(arr.join(‘,‘)) // 1,2,3
3、pop
pop() 方法用于删除并返回数组的最后一个元素,会改变原数组。
语法:arrayObject.pop()
const arr = [1,2,3] const brr =arr.pop() //3 console.log(arr) //[1,2]
4、push
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
语法:arrayObject.push(newelement1,newelement2,....,newelementX)
| 参数 | 描述 |
|---|---|
| newelement1 | 必需。要添加到数组的第一个元素。 |
| newelement2 | 可选。要添加到数组的第二个元素。 |
| newelementX | 可选。可添加多个元素。 |
const arr = [1, 2, 3] const brr = [4, 5] const obj = { name: ‘shy‘, age: ‘22‘ } const a = arr.push(brr) const b = arr.push(obj) console.log(arr) //[1, 2, 3, [4,5]] console.log(arr) //[1, 2, 3, { name:‘shy‘,age:‘22‘}] console.log(arr) //[1, 2, 3, [4,5],{ name:‘shy‘,age:‘22‘}]
5、reverse
reverse() 方法用于颠倒数组中元素的顺序。
语法:arrayObject.reverse()
const arr = [1,2,‘a‘] const brr = arr.reverse() console.log(brr) //[‘a‘,2,1]
6、shift
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
语法:arrayObject.shift()
const arr = [1,2,3] const brr = arr.shift() console.log(arr) //2,3
7、slice
slice() 方法可从已有的数组中返回选定的元素
语法:arrayObject.slice(start,end)
| 参数 | 描述 |
|---|---|
| start | 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。 |
| end | 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。 |
可使用负值从数组的尾部选取元素,如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素
const arr = [1,2,3] const brr = arr.slice(0,1) const crr = arr.slice(0) const drr = arr.slice(0,-1) console.log(brr)//[1] console.log(crr) //[1,2,3] console.log(drr) //[1,2]
8、sort
sort() 方法用于对数组的元素进行排序。
语法:arrayObject.sort(sortby)
| 参数 | 描述 |
|---|---|
| sortby | 可选。规定排序顺序。必须是函数。 |
function sortNumber(a, b) { return a - b } const arr = [6, 1564, 15, 234, 4, 345, 1, 5, 35, 48] const brr = [‘Aads‘, ‘Bd‘, ‘AD‘, ‘JF‘, ‘XFG‘] console.log(brr.sort()) //["AD", "Aads", "Bd", "JF", "XFG"] console.log(arr.sort()) //[1, 15, 1564, 234, 345, 35, 4, 48, 5, 6] console.log(arr.sort(sortNumber))//[1, 4, 5, 6, 15, 35, 48, 234, 345, 1564]
9、splice
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目
语法:arrayObject.splice(index,howmany,item1,.....,itemX)
| 参数 | 描述 |
|---|---|
| index | 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 |
| howmany | 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 |
| item1, ..., itemX | 可选。向数组添加的新项目。 |
const arr = [1, 2, 3] const btt = arr.splice(0,1) //删除第一项 const crr = arr.splice(0,1,"a") //替换 const drr = arr.splice(2, 0, [4, 5])//增加 console.log(arr) //[2, 3] console.log(arr) //["a", 2, 3] console.log(arr) //[1, 2,[4,5], 3]
10、toString
toString() 方法可把数组转换为字符串,并返回结果。
语法:arrayObject.toString()
const arr = [1, ‘a‘, ‘SAD‘] console.log(arr.toString()) //1,a,SAD
11、unshift
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
语法:arrayObject.unshift(newelement1,newelement2,......,newelementX)
| 参数 | 描述 |
|---|---|
| newelement1 | 必需。向数组添加的第一个元素。 |
| newelement2 | 可选。向数组添加的第二个元素。 |
| newelementX | 可选。可添加若干个元素。 |
const arr = [1, 2, 3] const brr = [4, 5] const obj = { name: ‘shy‘, age: ‘22‘ } const a = arr.unshift(brr) const b = arr.unshift(obj) console.log(arr) //[[4,5],1, 2, 3] console.log(arr) //[{ name:‘shy‘,age:‘22‘},1, 2, 3 ] console.log(arr) //[ { name:‘shy‘,age:‘22‘},[4,5],1, 2, 3]
ES5部分
12、Array.isArray()//判断是不是一个数组
语法:Array.isArray(arrayObject)
const arr = [1,‘a‘,{name:‘shy‘}]
console.log(Array.isArray(arr)) //true
13、Array.forEach() //遍历数组
语法:array1.forEach(callbackfn[, thisArg])
| 参数 | 描述 |
|---|---|
| array1 | 必选。一个数组对象。 |
| callbackfn | 必选。最多可以接受三个参数的函数。对于数组中的每个元素,forEach 都会调用 callbackfn 函数一次。 |
| thisArg | 可选。 callbackfn 函数中的 this 关键字可引用的对象。如果省略 thisArg,则 undefined 将用作 this 值。 |
回调函数的形参,依次为,value:遍历的数组内容;index:对应的数组索引,array:数组本身。
const arr = [1, ‘a‘, { name: ‘shy‘ }]
function myFunction(value, index, array) {
//console.log(value) //1 a {name: "shy"}
//console.log(index) // 0 1 2
console.log(array) // [1, ‘a‘, { name: ‘shy‘ }] [1, ‘a‘, { name: ‘shy‘ }] [1, ‘a‘, { name: ‘shy‘ }]
}
arr.forEach(myFunction)
14、Array.map() //遍历数组
语法:array1.map(callbackfn[, thisArg])
| 参数 | 描述 |
|---|---|
| array1 | 必选。一个数组对象。 |
| callbackfn | 必选。最多可以接受三个参数的函数。对于数组中的每个元素,forEach 都会调用 callbackfn 函数一次。 |
| thisArg | 可选。 callbackfn 函数中的 this 关键字可引用的对象。如果省略 thisArg,则 undefined 将用作 this 值。 |
回调函数的形参,依次为,value:遍历的数组内容;index:对应的数组索引,array:数组本身。
const arr = [1, ‘a‘, { name: ‘shy‘ }]
function myFunction(value, index, array) {
//console.log(value) //1 a {name: "shy"}
//console.log(index) // 0 1 2
//console.log(array) // [1, ‘a‘, { name: ‘shy‘ }] [1, ‘a‘, { name: ‘shy‘ }] [1, ‘a‘, { name: ‘shy‘ }]
}
arr.map(myFunction)
map与forEach的异同
map方法
1.map方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。
2.map方法不会对空数组进行检测侧,map方法不会改变原数组。
3.map支持return返回值,也不影响原数组,但是会返回一个新的数组。
4.若arr为空数组,则map方法返回的也是一个空数组。
forEach方法
1.forEach方法用来调用数组的每个元素,将元素传给回调函数。
2.forEach对于空数组是不会调用回调函数的,无论arr是不是空数组,forEach返回的都是undefined。这个方法只是将数组中的每一项作为callback的参数执行一次。
3.forEach不支持return,对原来的数组也没有影响。但是我们可以自己通过数组的索引来修改原来的数组。
15、Array.filter() //过滤
语法:arr.filter(callback(element[, index[, array]])[, thisArg])
原文:https://www.cnblogs.com/shy0113/p/12567242.html