溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用es6實(shí)現(xiàn)兩個(gè)變量的轉(zhuǎn)換

發(fā)布時(shí)間:2022-10-25 09:38:37 來源:億速云 閱讀:144 作者:iii 欄目:web開發(fā)

本篇內(nèi)容主要講解“如何使用es6實(shí)現(xiàn)兩個(gè)變量的轉(zhuǎn)換”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何使用es6實(shí)現(xiàn)兩個(gè)變量的轉(zhuǎn)換”吧!

4種實(shí)現(xiàn):1、采用二進(jìn)制異或的方法來交換數(shù)值,語法“a = a ^ b;b = a ^ b; a = a ^ b;”或“a=(b^=a^=b)^a;”;2、利用數(shù)組下標(biāo)來交換,語法“a=[a, b];b=a[0];a=a[1]; ”;3、數(shù)組特殊置換法,語法“a = [b, b = a][0]; ”;4、對(duì)數(shù)組元素進(jìn)行提取和賦值,語法“[a, b] = [b, a];”。

es6實(shí)現(xiàn)兩個(gè)變量轉(zhuǎn)換的4種方法

方法一:異或置換法

方案分析:這里采用二進(jìn)制異或的方法交換數(shù)值。異或的特點(diǎn):同數(shù)為0,異數(shù)為1;將用戶輸入的值分別轉(zhuǎn)換成二進(jìn)制,在進(jìn)行異或,JS里面的異或符號(hào)是用shift+6,通過兩次異或還是本身這個(gè)原理,即可實(shí)現(xiàn)兩個(gè)數(shù)的交換。

注意:其變換形式:a = (b^=a^=b)^a;【一行代碼搞定兩數(shù)置換

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 方法一:異或置換法(同數(shù)為0,異數(shù)為1)
        var a = prompt('請(qǐng)輸入a的值');
        var b = prompt('請(qǐng)輸入b的值');
        a = a ^ b;
        b = a ^ b;
        a = a ^ b;
        //a = (b ^= a ^= b) ^ a; //與上面三行實(shí)現(xiàn)同理只是變成一行代碼
        document.write('交換后a的值是' + a + '<br>', '交換后b的值是' + b);
    </script>
</body>

</html>

運(yùn)行結(jié)果:

如何使用es6實(shí)現(xiàn)兩個(gè)變量的轉(zhuǎn)換

如何使用es6實(shí)現(xiàn)兩個(gè)變量的轉(zhuǎn)換

如何使用es6實(shí)現(xiàn)兩個(gè)變量的轉(zhuǎn)換

方法二:數(shù)組特殊置換法【進(jìn)階】

方案分析:這里使用的是特定數(shù)組的方法,將兩個(gè)數(shù)直接轉(zhuǎn)換,首先假設(shè)a=6,b=9則有a=[9,b=a][0]>>>a=[9,b=6][0]>>>a=[9,6][0]>>>b=6>>>a[0]=9>>>a=9。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 方法二:數(shù)組置換法
        var a = prompt('請(qǐng)輸入a的值');
        var b = prompt('請(qǐng)輸入b的值');
        a = [b, b = a][0]; 
        document.write('交換后a的值是' + a + '<br>', '交換后b的值是' + b);
    </script>
</body>

</html>

方法三:數(shù)組普通置換法

方案分析:這里使用的是普通數(shù)組置換的方法,首先將把a(bǔ),b的值存放在a[a,b]這個(gè)數(shù)組中,其次先將a[0]值賦給b,再將a[1]的值賦給a,不這樣會(huì)導(dǎo)致a與b的值相等。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 方法三:數(shù)組普通置換法
        var a = prompt('請(qǐng)輸入a的值');
        var b = prompt('請(qǐng)輸入b的值');
        a = [a, b]; //接收用戶輸入的值
        document.write('交換前a,b的值是' + a + '<br>');
        b = a[0]; //將第一值賦給b必須寫在a的前面
        a = a[1]; //將第二值賦給a
        document.write(a);
        document.write(b);
    </script>
</body>

</html>

方法四:ES6賦值法

方案分析:這里使用的是ES6置換的方法,由于ES6允許我們對(duì)數(shù)組和對(duì)象提取,所以可以進(jìn)行變量賦值,來實(shí)現(xiàn)兩數(shù)直接交換。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 方法四:ES6賦值法
        var a = prompt('請(qǐng)輸入a的值');
        var b = prompt('請(qǐng)輸入b的值');
        [a, b] = [b, a];
        document.write('交換后a的值是' + a + '<br>', '交換后b的值是' + b);
    </script>
</body>

</html>

到此,相信大家對(duì)“如何使用es6實(shí)現(xiàn)兩個(gè)變量的轉(zhuǎn)換”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

es6
AI