跳到主要内容

数组反转算法

const arr = [1,2,3,4,5,6,7,8,9];
let i = arr.length;

for (let j = 0; j < Number.parseInt(i/2); j++) {
const tmp = arr[j];
arr[j] = arr[i-1-j];
arr[i-1-j] = tmp;
}

只需要遍历Array.length / 2 次,而且不需要创建额外的数组,效率比较高。

最简单但是效率不太高的实现:

const arr = [1,2,3,4,5,6,7,8,9];
const nextArr = [];
arr.forEach(e => {
nextArr.unshift(e);
})

很简单的思维,就是创建一个新数组,然后把旧数组遍历依次放入新数组中。

Loading Comments...