目录
JavaScript中的数组是非常常用的数据结构,数组有着许多的方法,这些方法能让我们更加简单便捷的操作数组,以下是一些较为常用的数组方法和详细的用法。
1.push()
-
用途
向数组的末尾添加一个或者多个元素,然后返回新数组的长度。
-
用法
let person= ['张三', '李四']
console.log(person.push('王五'))// 返回新数组的长度为 3
console.log(person)// ['张三', '李四', '王五']
2.pop()
-
用途
移除数组末尾的元素,并返回该元素的值。
-
用法
let person = ['张三', '李四', '王五']
console.log(person.pop())// 返回被删除的元素王五
console.log(person)// ['张三', '李四']
3.shift()
-
用途
移除数组开头的元素,并返回该元素的值。
-
用法
let person = ['张三', '李四', '王五']
console.log(person.shift())// 返回被删除的元素张三
console.log(person)// ['李四', '王五']
4.unshift()
-
用途
向数组开头添加一个或多个元素,并返回新数组的长度。
-
用法
let person = ['张三', '李四', '王五']
console.log(person.unshift('赵六'))// 返回新数组长度4
console.log(person)// ['赵六','张三','李四', '王五']
5.concat()
-
用途
合并两个或多个数组,并返回一个新数组,不改变原数组。
-
用法
let person1 = ['张三', '李四', '王五']
let person2 = ['尼古拉斯', '威廉姆斯', '伊丽莎白']
console.log(person1.concat(person2))// 返回新数组 ['张三', '李四', '王五','尼古拉斯', '威廉姆斯', '伊丽莎白']
console.log(person1)// ['张三','李四', '王五']
console.log(person2)// ['尼古拉斯', '威廉姆斯', '伊丽莎白']
6.slice()
-
用途
从已有数组中返回选定的元素,并返回一个新数组,不改变原数组。
-
用法
let person = ['张三', '李四', '王五','尼古拉斯', '威廉姆斯', '伊丽莎白']
console.log(person.slice(1,4));['李四', '王五', '尼古拉斯']
array.slice(start, end),这个数组包含两个参数,start和end。
start 规定从何处开始选取。如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取,slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。
end 规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取。 slice(-2,-1) 表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素)。
7.splice()
-
用途
在指定位置修改数组,可以添加或删除多个元素,会改变原数组。
-
用法
let person = ['张三', '李四', '王五','尼古拉斯', '威廉姆斯', '伊丽莎白']
person.splice(3,1,'建国','兴邦')
console.log(person); ['张三', '李四', '王五', '建国', '兴邦', '威廉姆斯', '伊丽莎白']
array.splice(index,howmany,item1,.....,itemX)
index | 必需。规定从何处添加/删除元素。 该参数是开始插入和(或)删除的数组元素的下标,必须是数字。 |
howmany | 可选。规定应该删除多少元素。必须是数字,但可以是 "0"。 如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。 |
item1, ..., itemX | 可选。要添加到数组的新元素 |
8.forEach()
-
用途
对数组中的每个元素执行提供的函数。
-
用法
let person = ['张三', '李四', '王五']
person.forEach((name ,index)=>{
console.log(`索引${index}对应的人是${name}`);
})
// 索引0对应的人是张三
// 索引1对应的人是李四
// 索引2对应的人是王五
array.forEach(callbackFn(currentValue, index, arr), thisValue)
callbackFn(currentValue, index, arr) | 必需。 数组中每个元素需要调用的函数。 函数参数:
| ||||||||
thisValue | 可选。传递给函数的值一般用 "this" 值。 如果这个参数为空, "undefined" 会传递给 "this" 值 |
8.map()
-
用途
对数组中的每个元素执行提供的函数,并返回一个新数组。
-
用法
let person = ['张三', '李四', '王五']
let familyPerson=person.map(name => name=`葬爱家族·${name}`)
console.log(familyPerson);// ['葬爱家族·张三', '葬爱家族·李四', '葬爱家族·王五']
语法结构: array.map(function(currentValue,index,arr), thisValue)
function(currentValue, index,arr) | 必须。函数,数组中的每个元素都会执行这个函数 函数参数:
| ||||||||
thisValue | 可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。 如果省略了 thisValue,或者传入 null、undefined,那么回调函数的 this 为全局对象。 |
总结
这些就是我总结的JavaScript数组比较常用的方法及详细用法。熟练的使用这些数组方法可以帮助我们对数组进行增删改查等较为复杂的操作,也能极大的提高代码的效率以及可读性。