.reverse()方法:相信身为前端工程师或者正在成为前端工程师的小伙伴都对它并不陌生,甚至非常熟悉,主要作用就是用于颠倒数组中元素的顺序,这里举个例子:
const arr ='abcd'
console.log(arr) //abcd
**拓展
展开运算符的一些常规用法:
1.数组方面:他是可以用于创建新的数组,将已有数组的元素展开并添加到新数组中。将两个数组合并可以使用展开运算符
如下
2.在函数方面:可以将数组的元素传递给每个参数
如下:
3.在对象方面:用于对象字面量,能将一个对象里面的属性放在另一个对象里面
如下:
其次呢像字符串、Set、Map等可迭代对象也是常见的。
好了言归正传
要想将arr='abcd'变成'dcba',可以第一步将字符串里面元素一次展开来,就可以运用上面说的展开运算符的方法,但是如果直接展开,我们怎么能用到.reverse()方法呢,这里要说一下啊.reverse()是就地反转数组中的元素,关键字是数组,是作用于数组上面的.所以我们可以将他用数组装起来,如下
其次 在 进行翻转数组
arr2.reverse()
这样子就翻转过来了 ,但是注意 arr='abcd'是字符串的形式,所以最后一步是 .join('')
第二种翻转是运用到了.reduceRight()方法 注意的是他与reduce () 的区别是
reduce () 是相当于累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。注意: reduce () 对于空数组是不会执行回调函数的。
.reduceRight()也是累加器 ,但是它是从数组的末尾向前将数组中的数组项做累加的
所以上面的arr='abcd'可以使用这个.reduceRight()
如下:
这个就简单一点 第一个参数是数组的末尾,第二个是倒数第二,其次从后向前,这个方法见的少一点,但是也是很实用的!!