ES6 数组

2 篇文章 0 订阅
2 篇文章 0 订阅

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((previousValue, currentValue, currentIndex, array) => { /* … */ }, initialValue)
参数说明:
(1) callbackFn 一个回调函数,包含四个参数:

  1. previousValue:上一次调用 callbackFn 时的返回值。在第一次调用时,若指定了初始值 initialValue,其值则为 initialValue,否则为数组索引为 0 的元素 array[0]。
  2. currentValue:数组中正在处理的元素。在第一次调用时,若指定了初始值 initialValue,其值则为数组索引为 0 的元素 array[0],否则为 array[1]。
  3. currentIndex:数组中正在处理的元素的索引。若指定了初始值 initialValue,则起始索引号为 0,否则从索引 1 起始。
  4. array:用于遍历的数组。

(2) initialValue 可选
作为第一次调用 callback 函数时参数 previousValue 的值。若指定了初始值 initialValue,则 currentValue 则将使用数组第一个元素;否则 previousValue 将使用数组第一个元素,而 currentValue 将使用数组第二个元素。

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"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值