ES5,ES6中数组的方法分别有什么,详解

其实数组就是一个可以存放很多数据的变量

ES5数组的方法有:

1,concat(),连接两个或者多个数组,并返回结果
它并不会改变原来的数组,返回的数组只是原数组的一个副本

const arr = [1, 2, 3]
const brr = [4, 5]
const crr = [6, 7]
const drr = arr.concat(brr)
const err = arr.concat(brr, crr)
const frr = arr.concat(crr)
console.log(drr) //[1,2,3,4,5]
console.log(err) //[1,2,3,4,5,6,7]
console.log(frr);//[1,2,3,6,7]

2.join() 方法用于把数组中的所有元素放入一个字符串。
元素是通过指定的分隔符进行分隔的。
语法:arrayObject.join(separator)

// join方法
const arr = [1,2,3]
console.log(arr.join(’.’)) // 1.2.3

3,pop方法用于删除并返回数组的最后一个元素。
它会改变原来的数组
语法:arrayObject.pop()

let a = [1, 2, 3]
let b = a.pop()
console.log(b); //3返回的是删除的元素,并返回

4,push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

let a = [1, 2, 3]
let b = [4, 5, 6]
let c = [7, 8]
let aa = a.push(b)
console.log(a);//返回[ 1, 2, 3, [ 4, 5, 6 ] ]

5、reverse() 方法用于颠倒数组中元素的顺序。

语法:arrayObject.reverse()

const arr = [1,2,'a']
const brr = arr.reverse()
console.log(brr) //['a',2,1]

6.shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
语法:arrayObject.shift()

const arr = [1,2,3]
const brr = arr.shift()
console.log(arr) //2,3

7、bind方法

  函数身上的方法,返回值是一个人this变量值发生变化的函数,返回一个新的函数

  this是函数内部默认的一个内置变量(严格模式下,this指向是undefined)

 1、  在全局环境中使用this的指向(值)是window

 2、在函数内部,this指向的 还是window

 3、在对象的方法内部,this指向的是方法的拥有者

8、reduce()方法:归并

语法:arr.reduce(function(previous, current, index, arr){}
,initialValue);

遍历数组从左往右

function:回调函数

previous:上一次计算的结果,先前值

current:当前值

index:当前值的下标(不打印第一个arr[0]的下标,arr[0]充当了previous)

arr:数组

initialValue:初始化的了一个先前值

9、reduceRight()方法:归并

语法:arr.reduceRight(function(previous, current, index, arr){}
,initialValue);

遍历数组的方法从右往左,其余和reduce方法一样

10、Array.isArray()方法

判断某个变量是否为数组

11、字符串新增的方法:

trim():忽略字符串左右两侧的空格,只去除左右两端的空格

12、ES中新增的JSON对象的方法

JSON:一种轻量级的数字交换机制,就是一个对象
JSON.stringify():将一个对象格式化成JSON字符串,不会格式化方法,只会把方法去掉
JSON.parse():将一个JSON格式的字符串转换为对象,字符串中的键必须用双引号包起来,如果不包起来就会报错,不能加方法,因为方法也是在一个字符串中包含着

13、Array.from()将类数组转为数组。

14、Array.of():将一组值转为数组。

15splice

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目
语法:arrayObject.splice(index,howmany,item1,…,itemX)

index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 howmany 必需。要删除的项目数量。如果设置为
0,则不会删除项目。

ES6的属性和方法

1、forEach()方法
它有三个参数:item 表示每次迭代的元素,index 表示每次迭代元素的下标,array 表示原数组

语法:arr.forEach(function(v,k,arr){},context);//v : value ; k : key;

context:改变函数的this的指向,如果不改变,默认指向window

2、map()方法 :映射
他也有三个参数:item 表示每次迭代的元素,index 表示每次迭代元素的下标,array 表示原数组

语法:arr.map(function(v,k,arr){},context);//v : value ; k : key;

遍历数组,将信数组执行以后存储起来,并返回一个新数组


map与forEach的异同

1,相同点 都是循环遍历数组中的每一项
2, forEach和map方法里每次执行匿名函数都支持3个参数,参数分别是item(当前每一项),index(索引值),arr(原数组)
3,匿名函数中的this都是指向window 只能遍历数组 都不会改变原数组 区别
map方法

1.map方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。

2.map方法不会对空数组进行检测侧,map方法不会改变原数组。

3.map支持return返回值,也不影响原数组,但是会返回一个新的数组。

4.若arr为空数组,则map方法返回的也是一个空数组。

forEach方法

1.forEach方法用来调用数组的每个元素,将元素传给回调函数。

2.forEach对于空数组是不会调用回调函数的,无论arr是不是空数组,forEach返回的都是undefined。这个方法只是将数组中的每一项作为callback的参数执行一次。

3.forEach不支持return,对原来的数组也没有影响。但是我们可以自己通过数组的索引来修改原来的数组。


3、filter()方法:过滤

语法:arr.filter(callback(element[, index[, array]])[, thisArg])

callback 必选。用来测试数组的每个元素的函数。返回 true 表示该元素通过测试,保留该元素,false 则不保留。
它接受以下三个参数: element 数组中当前正在处理的元素。 index 可选。正在处理的元素在数组中的索引。array 调用了 filter 的数组本身。 thisArg 执行 callback 时,用于 this 的值
返回一个布尔值,如果返回值是true就存储起来,如果是false,就过滤,最后返回一个过滤后的新数组

4、some()方法:起到或的作用(||)

语法:array.some(function(item,index,array)
//item:当前元素的值;
//index:当前元素的索引;
// array:当前元素的数组对象;

判定一个数组是否符合某个条件,如果有一项符合返回true,如果一项都不符合,返回false;

5、every()方法:起到与的作用(&&)

语法array.every(function(item,index,array)

判定一个数组是否符合某个条件,如果有一下该不符合就返回false,如果都符合返回true

6、indexOf()方法:在数组中查找某个元素

语法:indexOf(查找的元素,‘开始位置’)

返回值:从左往右查找,如果找到返回这个元素的下标,如果找不到,返回-1,严格去查找,字符串和数字明确分辨,第二个参数也支持负数,从右向左查找

7、lastIndexOf()方法:在数组中查找某个元素

语法:lastIndexOf(查找的元素,‘开始位置’)
返回值:从右往左查找,如果找到返回这个元素的下标,如果找不到,返回-1,严格去查找,字符串和数字明确分辨,第二个参数也支持负数,从左往右查找

1.只有一个参数时,lastIndexOf从右向左找第一个item,找到就返回索引值。例如:arr.lastIndexOf(3)-----从右向左找第一个3,索引值为5,所以结果就是5。

2.两个参数时,arr.lastIndexOf(3,2)------在索引0—2之间找3,其索引值为2,所以结果就是2。 arr.lastIndexOf(4,6)------在索引0—6之间找4,其索引值为4,所以结果就是4

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值