JS雙重for循環詳解

一、JS雙重for循環數組去重

const arr = [1, 2, 3, 1, 4, 2];
const result = [];
for(let i = 0; i < arr.length; i++){
  let flag = true;
  for(let j = i + 1; j < arr.length; j++){
    if(arr[i] == arr[j]){
      flag = false;
      break;
    }
  }
  if(flag){
    result.push(arr[i]);
  }
}
console.log(result);

此處所示代碼可以實現JS雙重for循環數組去重,其實現原理是利用兩個for循環,外層for循環用於遍曆數組,內層for循環用於比較當前元素與數組後面所有元素是否相同,如果相同則將flag標誌位設置為false,如果無相同元素,則將該元素存入result數組。

二、雙重for循環去重

const arr = [1, 2, 3, 1, 4, 2];
for(let i = 0; i < arr.length; i++){
  for(let j = i + 1; j < arr.length; j++){
    if(arr[i] == arr[j]){
      arr.splice(j,1);
      j--;
    }
  }
}
console.log(arr);

在這段代碼中,我們可以看出外層循環用於遍曆數組,內層循環用於比較當前元素與數組後面所有元素是否相同,如果相同,則使用splice()方法將該重複元素從數組中刪除。

三、JS雙重for循環案例

for(let i = 1; i <= 9; i++){
  let str = '';
  for(let j = 1; j <= i; j++){
    str += i + '*' + j + '=' + i * j + ' ';
  }
  console.log(str);
}

以上代碼實現的是「JS雙重for循環編程99乘法表」的功能,外層for循環控制表的行數,內層for循環控制每行表格的內容,這裡選擇字符串拼接的方式實現。

四、JS雙重循環

JS雙重循環,即Nested For Loop,是指在一個for循環內進行嵌套執行另一個for循環的操作,利用這種嵌套方式可以完成比較複雜的循環計算。

五、雙重for循環怎麼執行

雙重for循環執行流程如下:

  • 1. 外層for循環開始。
  • 2. 內層for循環開始。
  • 3. 內層for循環執行完所有操作之後,返回到外層for循環。
  • 4. 如果外層for循環仍有剩餘操作,則繼續執行內層循環。
  • 5. 外層for循環執行完所有操作之後,程序結束。

六、雙重for循環流程圖

下面是雙重for循環的流程圖:

+--------------+
|              |
v              |
+-------+     |
| Start |     |
+-------+     |
    |          |
    v          |
+-------+     |
| for i |-----+
| (init)|       |
+-------+       |
    |          |
    v          |
+-------+     +---------+
| for j |-----| Operations |
| (init)|     +---------+
+-------+       |
    |          |
    v          |
+-------+     |
|   j   |-----+
| (exit)|
+-------+     |
    |          |
    v          |
+--------------+
|              |
|     End      |
|              |
+--------------+

七、for雙重循環實例

//計算二維數組中每個元素的和
let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
let sum = 0;
for(let i = 0; i < arr.length; i++){
  for(let j = 0; j < arr[i].length; j++){
    sum += arr[i][j];
  }
}
console.log(sum);

這個雙重for循環的例子是計算一個二維數組中所有元素的和,它內部的語句與我們前面介紹的例子類似。

總結

本文從JS雙重for循環數組去重、雙重for循環去重、JS雙重for循環案例、JS雙重循環以及雙重for循環執行流程和流程圖等多個方面進行了詳細的闡述,希望對大家有所幫助。

原創文章,作者:YYWM,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/137166.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
YYWM的頭像YYWM
上一篇 2024-10-04 00:17
下一篇 2024-10-04 00:17

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • Python for循環求1到100的積

    Python中的for循環可以方便地遍歷列表、元組、字典等數據類型。本文將以Python for循環求1到100的積為中心,從多個方面進行詳細闡述。 一、for循環語法 Pytho…

    編程 2025-04-29
  • Python使用for循環打印99乘法表用法介紹

    本文介紹如何使用python的for循環語句來打印99乘法表,我們將從需要的基本知識、代碼示例以及一些加強版來詳細講解。 一、基礎知識 在學習如何使用for循環打印99乘法表之前,…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字符無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字符無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • Python for循環優化

    本文將介紹如何對Python中的for循環進行優化。 一、使用range()代替直接迭代 Python中的for循環本質上是一種迭代操作,可以對列表、元組、集合等數據結構進行遍歷。…

    編程 2025-04-28
  • in和for的用法區別

    對於Python編程中的in和for關鍵詞,我們在實際編碼中很容易混淆。本文將從多個方面詳細闡述它們的用法區別,幫助讀者正確使用in和for。 一、in關鍵詞 in是用來判斷一個元…

    編程 2025-04-28
  • JS圖片沿着SVG路徑移動實現方法

    本文將為大家詳細介紹如何使用JS實現圖片沿着SVG路徑移動的效果,包括路徑製作、路徑效果、以及實現代碼等內容。 一、路徑製作 路徑的製作,我們需要使用到SVG,SVG是可縮放矢量圖…

    編程 2025-04-27
  • Python利用for循環實現三角形的繪製

    Python是一種高級編程語言,也是非常適合初學者學習的一種編程語言。本文將詳細介紹如何利用Python中的for循環來實現三角形的繪製。通過本文的學習,大家可以對Python的基…

    編程 2025-04-27

發表回復

登錄後才能評論