您好,登錄后才能下訂單哦!
本篇內容主要講解“如何使用es6實現兩個變量的轉換”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用es6實現兩個變量的轉換”吧!
4種實現:1、采用二進制異或的方法來交換數值,語法“a = a ^ b;b = a ^ b; a = a ^ b;”或“a=(b^=a^=b)^a;”;2、利用數組下標來交換,語法“a=[a, b];b=a[0];a=a[1]; ”;3、數組特殊置換法,語法“a = [b, b = a][0]; ”;4、對數組元素進行提取和賦值,語法“[a, b] = [b, a];”。
方法一:異或置換法
方案分析:這里采用二進制異或的方法交換數值。異或的特點:同數為0,異數為1;將用戶輸入的值分別轉換成二進制,在進行異或,JS里面的異或符號是用shift+6,通過兩次異或還是本身這個原理,即可實現兩個數的交換。
注意:其變換形式:a = (b^=a^=b)^a;【一行代碼搞定兩數置換】
<!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>
// 方法一:異或置換法(同數為0,異數為1)
var a = prompt('請輸入a的值');
var b = prompt('請輸入b的值');
a = a ^ b;
b = a ^ b;
a = a ^ b;
//a = (b ^= a ^= b) ^ a; //與上面三行實現同理只是變成一行代碼
document.write('交換后a的值是' + a + '<br>', '交換后b的值是' + b);
</script>
</body>
</html>
運行結果:
方法二:數組特殊置換法【進階】
方案分析:這里使用的是特定數組的方法,將兩個數直接轉換,首先假設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>
// 方法二:數組置換法
var a = prompt('請輸入a的值');
var b = prompt('請輸入b的值');
a = [b, b = a][0];
document.write('交換后a的值是' + a + '<br>', '交換后b的值是' + b);
</script>
</body>
</html>
方法三:數組普通置換法
方案分析:這里使用的是普通數組置換的方法,首先將把a,b的值存放在a[a,b]這個數組中,其次先將a[0]值賦給b,再將a[1]的值賦給a,不這樣會導致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>
// 方法三:數組普通置換法
var a = prompt('請輸入a的值');
var b = prompt('請輸入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允許我們對數組和對象提取,所以可以進行變量賦值,來實現兩數直接交換。
<!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('請輸入a的值');
var b = prompt('請輸入b的值');
[a, b] = [b, a];
document.write('交換后a的值是' + a + '<br>', '交換后b的值是' + b);
</script>
</body>
</html>
到此,相信大家對“如何使用es6實現兩個變量的轉換”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。