午夜无码人妻aⅴ大片色欲张津瑜,国产69久久久欧美黑人A片,色妺妺视频网,久久久久国产综合AV天堂

ES6如何求數(shù)組反轉(zhuǎn)

這篇文章主要介紹“ES6如何求數(shù)組反轉(zhuǎn)”,在日常操作中,相信很多人在ES6如何求數(shù)組反轉(zhuǎn)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”ES6如何求數(shù)組反轉(zhuǎn)”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)從2013年創(chuàng)立,公司以網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、系統(tǒng)開發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶上1000家,涉及國內(nèi)多個(gè)省份客戶。擁有多年網(wǎng)站建設(shè)開發(fā)經(jīng)驗(yàn)。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過專業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。

在ES6中,可以利用數(shù)組對象的reverse()方法來實(shí)現(xiàn)數(shù)組反轉(zhuǎn),該方法用于顛倒數(shù)組中元素的順序,將最后一個(gè)元素放在第一位,而第一個(gè)元素放在最后,語法“array.reverse()”。reverse()方法會(huì)修改原始數(shù)組,如果不想修改需要配合擴(kuò)展運(yùn)算符“...”使用,語法“[...array].reverse()”。

在工作面試和編碼測試中,反轉(zhuǎn)具有特定限制的數(shù)組是最常見的挑戰(zhàn)之一。

在ES6中,可以利用數(shù)組對象的reverse()方法來實(shí)現(xiàn)數(shù)組反轉(zhuǎn)。reverse()方法可反轉(zhuǎn)數(shù)組元素的順序,第一個(gè)元素變成最后一個(gè)元素,最后一個(gè)元素變成第一個(gè)元素。

如何使用Reverse方法反轉(zhuǎn)JavaScript中的數(shù)組

let numbers = [1, 2, 3, 4, 5];
let reversedNumbers = numbers.reverse();

console.log(reversedNumbers);
// [5, 4, 3, 2, 1]

但是請記住,reverse 方法會(huì)修改原始數(shù)組:

let numbers = [1, 2, 3, 4, 5];
let reversedNumbers = numbers.reverse();

console.log(reversedNumbers);
// [5, 4, 3, 2, 1]

console.log(numbers);
// [5, 4, 3, 2, 1]

一些編碼挑戰(zhàn)可能希望您保留原始數(shù)組,因此讓我們看一下如何在不更改原始數(shù)組的情況下反轉(zhuǎn)數(shù)組。

如何使用Spread運(yùn)算符反轉(zhuǎn)JavaScript中的數(shù)組

你可以結(jié)合使用擴(kuò)展運(yùn)算符(Spread)和 reverse 方法來反轉(zhuǎn)數(shù)組,而無需更改原始數(shù)組。

首先,通過用方括號 [] 括住spread語法,將spread運(yùn)算符返回的元素放入新數(shù)組中:

[...numbers]

然后,你在數(shù)組上調(diào)用 reverse 方法。這樣,將在新數(shù)組而不是原始數(shù)組上執(zhí)行 reverse 方法:

let numbers = [1, 2, 3, 4, 5];
let reversedNumbers = [...numbers].reverse();

console.log(reversedNumbers);
// [5, 4, 3, 2, 1]

console.log(numbers);
// [1, 2, 3, 4, 5]

注意spread 方法是ES6語法,當(dāng)你需要支持較舊的瀏覽器或要使用ES5語法時(shí),可以結(jié)合使用 slicereverse 方法。讓我們現(xiàn)在來看。

如何使用Slice和Reverse方法反轉(zhuǎn)JavaScript中的數(shù)組

slice 方法用于將所選元素作為新數(shù)組返回,當(dāng)你調(diào)用不帶任何參數(shù)的方法時(shí),它將返回一個(gè)與原始數(shù)組相同的新數(shù)組(從第一個(gè)元素到最后一個(gè)元素)。

接下來,你在新返回的數(shù)組上調(diào)用 reverse 方法,這就是為什么原始數(shù)組不反轉(zhuǎn)的原因:

let numbers = [1, 2, 3, 4, 5];
let reversedNumbers = numbers.slice().reverse();

console.log(reversedNumbers);
// [5, 4, 3, 2, 1]

console.log(numbers);
// [1, 2, 3, 4, 5]

如何在沒有Reverse方法的情況下在JavaScript中反轉(zhuǎn)數(shù)組

有時(shí)面試會(huì)挑戰(zhàn)你對數(shù)組進(jìn)行逆向操作,而不采用 reverse 方法。沒問題!你可以使用 for 循環(huán)和數(shù)組 push 方法的組合,就像下面的例子。

let numbers = [1, 2, 3, 4, 5];
let reversedNumbers = [];

for(let i = numbers.length -1; i >= 0; i--) {
  reversedNumbers.push(numbers[i]);
}

console.log(reversedNumbers);

如何用JS編寫自己的反轉(zhuǎn)函數(shù)

最后,假設(shè)你的任務(wù)是編寫自己的反轉(zhuǎn)函數(shù),該函數(shù)需要在不創(chuàng)建副本的情況下反轉(zhuǎn)數(shù)組。乍一看,這似乎很復(fù)雜,但是不用擔(dān)心,因?yàn)樗鼘?shí)際上很簡單。

在這里你需要做的是交換數(shù)組的第一個(gè)和最后一個(gè)元素,然后交換第二個(gè)和倒數(shù)第二個(gè)元素,依此類推,直到交換了所有元素。

ES6如何求數(shù)組反轉(zhuǎn)

讓我們編寫一個(gè)函數(shù)來做到這一點(diǎn)。

編寫函數(shù) customReverse,并使用 array.length - 1 作為變量,同時(shí)存儲(chǔ)第一個(gè)索引為 0 和最后一個(gè)索引。

function customReverse(originalArray) {
  let leftIndex = 0;
  let rightIndex = originalArray.length - 1;
}

接下來,創(chuàng)建一個(gè) while 循環(huán),只要 leftIndex 小于 rightIndex,它就會(huì)運(yùn)行。

在此循環(huán)內(nèi),交換 leftIndexrightIndex 的值,你可以將值之一臨時(shí)存儲(chǔ)在臨時(shí)變量中:

while (leftIndex < rightIndex) {
  // 交換元素
  let temp = originalArray[leftIndex];
  originalArray[leftIndex] = originalArray[rightIndex];
  originalArray[rightIndex] = temp;
}

最后,將 leftIndex 向上移動(dòng),將 rightIndex 向下移動(dòng),當(dāng) while 循環(huán)重復(fù)時(shí),它將交換倒數(shù)第二個(gè)元素,依此類推:

 function customReverse(originalArray) {

  let leftIndex = 0;
  let rightIndex = originalArray.length - 1;

  while (leftIndex < rightIndex) {

    // 用temp變量交換元素
    let temp = originalArray[leftIndex];
    originalArray[leftIndex] = originalArray[rightIndex];
    originalArray[rightIndex] = temp;

    // 將索引移到中間
    leftIndex++;
    rightIndex--;
  }
}

當(dāng)沒有其他要反轉(zhuǎn)的元素時(shí),循環(huán)將立即停止。對于奇數(shù)的數(shù)組 leftIndexrightIndex 的值會(huì)相等,所以不用再交換。對于偶數(shù)的數(shù)組 leftIndex 將大于 rightIndex。

你可以測試該功能以查看其是否正常工作,如下所示:

let myArray = [1, 2, 3, 4, 5];

customReverse(myArray);

console.log(myArray);

// output is [5, 4, 3, 2, 1]

到此,關(guān)于“ES6如何求數(shù)組反轉(zhuǎn)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

當(dāng)前名稱:ES6如何求數(shù)組反轉(zhuǎn)
轉(zhuǎn)載來于:http://www.ekvhdxd.cn/article6/ghdpig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)關(guān)鍵詞優(yōu)化、搜索引擎優(yōu)化、定制開發(fā)微信小程序、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)