
在javascript如何反转数组呢?如果想反转一个数组,可以使用array的方法
reverse()
⏪。接下来提供了几种方法,可以实现这个功能。你要思考的是你何时使用它而不是是否使用它?。
const originalArray = ['a','b', 'c', 'd'];
const newArray = originalArray.reverse();
console.log(newArray);
// ['d', 'c', 'b', 'a']
复制
修改了原数组
值得注意的是,
reverse()
会修改原数组。
const originalArray = ['a', 'b', 'c'];
const newArray = originalArray.reverse();
console.log(originalArray); // [ 'c', 'b', 'a' ]
console.log(newArray); // [ 'c', 'b', 'a' ]
复制
如何在不修改原数组的情况下反转数组
让我们一起看看在不修改原数组的情况下反转数组的一些方法。?
使用 slice
和 reverse
slice
reverse
const originalArray = ['a', 'b', 'c'];
const newArray = originalArray.slice().reverse();
console.log(originalArray); // ['a', 'b', 'c']
console.log(newArray); // [ 'c', 'b', 'a' ]
复制
使用 spread
和 reverse
spread
reverse
const originalArray = ['a', 'b', 'c'];
const newArray = [...originalArray].reverse();
console.log(originalArray); // ['a', 'b', 'c']
console.log(newArray); // [ 'c', 'b', 'a' ]
复制
使用 reduce
和 spread
reduce
spread
const originalArray = ['a', 'b', 'c'];
const newArray = originalArray.reduce((accumulator, value) => {
return [value, ...accumulator]
}, []);
console.log(originalArray); // ['a', 'b', 'c']
console.log(newArray); // [ 'c', 'b', 'a' ]
复制
使用 reduceRight
和 spread
reduceRight
spread
const originalArray = ['a', 'b', 'c'];
const newArray = originalArray.reduceRight((accumulator, value) => {
console.log(value);
return [...accumulator, value]
}, []);
console.log(originalArray); // ['a', 'b', 'c']
console.log(newArray); // [ 'c', 'b', 'a' ]
复制
使用 reduceRight
和 push
reduceRight
push
const originalArray = ['a', 'b', 'c'];
const newArray = originalArray.reduceRight((accumulator, value) => {
accumulator.push(value);
return accumulator;
}, []);
console.log(originalArray); // ['a', 'b', 'c']
console.log(newArray); // [ 'c', 'b', 'a' ]
复制
本文参与 腾讯云自媒体分享计划,欢迎热爱写作的你一起参与!
本文章分享自微信公众号
白玉无冰
作者:lamyoung
原始发表时间:2019-09-12
如有侵权,请联系 [email protected] 删除。