微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ES6 数组

ES6 数组

1. Array.of() 创建数组

let array1 = Array.of(3); // [3]
let array2 = Array.of("3"); // ["3"]
let array3 = Array.of(3, 4); // [3,4]

2. push() 向数组尾部添加一个或多个元素,返回数组中元素的个数

let array = [];
let count = array.push(1); // count=1, array=[1]
count = array.push(3, 4); // count=3, array=[1,3,4]

3. pop() 向数组尾部删除一个元素,返回被删除的元素

let array = [1,2,3];
let element = array.pop(); //element=3, array=[1,2]

4. shift() 在数组头部删除一个元素,返回被删除的元素

let array = Array.of(1,2,3);
let element = array.shift(); // element=1, array=[2,3]

5. unshift() 在数组的头部添加一个或多个元素,返回数组中元素的个数

let array = new Array();
let count = array.unshift(1); // count=1, array=[1]
count = array.unshift(2,3); // count=3, array=[1,2,3]

6. slice() 从已有的数组中返回选定的元素

语法:array.slice(start, end);
参数说明:
start:必需。
规定从何处开始选取。如果是负数,从数组尾部开始算起的位置,-1 指最后一个元素,-2 指倒数第二个元素
end:可选。
规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

let array = [1,2,3,4,5,6];
let new_array = array.slice(2); // new_array=[3,4,5,6]
let new_array = array.slice(2,4) // new_array=[3,4]

7. splice() 向/从数组中添加/删除元素,返回被删除的元素组成的数组

语法:array.splice(index,count,item1,…,itemX)
参数说明:
index:必需。规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
count:必需。要删除的元素数量。如果设置为 0,则不会删除任何元素。
item1, …, itemX: 可选。向数组添加的新元素。
注意:这个方法会改变原数组

let array = [1,2,3,4];
let back_array = array.splice(1,2) //back_array=[2,3], array=[1,4]
let back_array = array.splice(1,0,5,6,7); //back_array=[], array=[1,5,6,7,4];

8. concat() 连接两个或者多个数组为一个数组,返回连接后的数组

let a = [1,2];
let b = [3,4];
let c = [5,6];
let concat = a.concat(b); // concat=[1,2,3,4]
let concat = a.concat(b,c); // concat=[1,2,3,4,5,6]

9. split() 按照指定字符将字符串分割为字符串数组,返回数组

let str = "I,lovE,YOU";
let back = str.split(','); // back=["I", "lovE", "YOU"]

10. join() 按照指定的方式把数组转换为字符串,返回字符串

let array = ["I", "lovE", "YOU"];
let str = array.join(); // 不写参数认是join(','), str="I,lovE,YOU" 
let str = array.join(' '); // str="I lovE YOU"

11. sort() 数组排序,认是按照字符编码逐个字符进行排序,返回排序后的数组

let array = [1,56,20,58,16];
let sort_array = array.sort(); // sort_array=[1, 16, 20, 56, 58]
let sort_array = array.sort((a,b) => a-b); // 升序排序sort_array=[1, 16, 20, 56, 58]
let sort_array = array.sort((a,b) => b-a); // 降序排序sort_array=[58, 56, 20, 16, 1]

12. Array.isArray() 判断是否为数组

let array = [1,2];
let str = "123";
let bool = Array.isArray(array) // true
let bool = Array.isArray(str) // false

13. forEach() 遍历每个元素

语法:forEach(function(item,index,arr){})
参数说明:
item:遍历的当前元素
index:当前元素下标
arr:数组本身
该操作不会改变原数组

let array = [12,44,12,98];
array.forEach(item => {
		console.log(item); //打印每个元素
	}) 

14. map() 遍历每个元素,返回操作后的数组

参数同forEach()
在回调函数中,一定要有返回值
该操作不会改变原数组

let array = [12,44,12,98];
let map_array = array.map(item => {
		item += 1;
	}) // map_array=[13,45,13,99]

15. filtrer() 用于进行过滤,筛选出符合条件的元素,组成一个新的数组返回

参数同forEach()
在回调函数中,一定要有返回值
该操作不会改变原数组

let array = [12,44,12,98];
let filter_array = array.filter(item => {
		item > 20;
	}) //filter_array=[44,98]

16. some() 只要数组中的某一个元素符合指定的条件,就返回真,否则返回假

参数同forEach()
在回调函数中,一定要有返回值
该操作不会改变原数组

let array = [12,44,12,98];
let bool= array.some(item => {
		item > 50;
	}) //true

17. every() 如果数组中所有的元素都符合指定的条件,才返回true,否则返回false

参数同forEach()
在回调函数中,一定要有返回值
该操作不会改变原数组

let array = [12,44,12,98];
let bool= array.every(item => {
		item > 50;
	}) //false

18. includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false

语法:arr.includes(searchElement)或者arr.includes(searchElement, fromIndex)
参数说明:
searchElement 必须。需要查找的元素值。
fromIndex 可选。从该索引处开始查找 searchElement。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索认为 0。

19. find() 方法返回通过测试(函数内判断)的数组的第一个元素的值,如果没有符合条件的则返回 undefined

语法:array.find(function(item, index, arr),thisValue)
参数说明:
thisValue 可选。 传递给函数的值一般用 “this” 值。如果这个参数为空, “undefined” 会传递给 “this” 值

20. findindex() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置

当数组中的元素在测试条件时返回 true 时, findindex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数
如果没有符合条件的元素返回 -1

21. reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个

语法:array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
参数说明:
total 必需。初始值, 或者计算结束后的返回值。
currentValue 必需。当前元素
currentIndex 可选。当前元素的索引
arr 可选。当前元素所属的数组对象。
initialValue 可选。传递给函数的初始值

let array = [1,2,3,4,5];
let result = array.reduce((x,y) => x+y); // result=15
let result = array.reduce((x,y) => x+y, 10); // result=25
let result = array.reduce((x,y) => x*y, 10); // result=1200

22. fill() 方法用于将一个固定值替换数组的元素

语法:array.fill(value, start, end)
value 必需。填充的值。
start 可选。开始填充位置。
end 可选。停止填充位置 (认为 array.length)
注意:该操作会改变自身数组

let fruits = ['apple', 'orange', 'banana','mango'];
fruits.fill('lemon', 2,4); //fruits=["apple", "orange", "lemon", "lemon"]

23. toString() 方法可把数组转换为字符串,并返回结果,元素直接用逗号隔开

let fruits = ['apple', 'orange', 'banana','mango'];
let str = fruits.toString(); // str="apple,orange,lemon,lemon"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐