最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript循環(huán)語句常見使用例子

 更新時間:2026年02月24日 11:36:22   作者:莫燃Sir  
在JavaScript中每種循環(huán)結(jié)構(gòu)和方法適用于不同場景,選擇合適的循環(huán)結(jié)構(gòu)可以提高代碼的可讀性和性能,這篇文章主要介紹了JavaScript循環(huán)語句常見使用的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

在JavaScript中,循環(huán)語句用于重復執(zhí)行一段代碼,直到滿足特定條件為止。循環(huán)是編程中控制流程的重要工具,能夠高效處理重復性任務

一.for循環(huán)

for循環(huán)是一種常見的控制流語句,用于重復執(zhí)行代碼塊。它通常用于遍歷序列(如列表、元組、字符串)或執(zhí)行固定次數(shù)的操作

for (初始化表達式; 條件表達式; 更新表達式) {
    // 循環(huán)體
}

初始化表達式在循環(huán)開始前執(zhí)行一次,通常用于聲明計數(shù)器變量。條件表達式在每次循環(huán)迭代前評估,如果為true則繼續(xù)循環(huán)。更新表達式在每次循環(huán)迭代后執(zhí)行,通常用于更新計數(shù)器

for (let i = 0; i < 5; i++) {
    console.log(i);
}
// 輸出0到4
break立即終止循環(huán)
continue跳過當前迭代

二.forEach循環(huán)

JavaScript 的 forEach 方法是數(shù)組對象的內(nèi)置方法,用于遍歷數(shù)組的每個元素并執(zhí)行回調(diào)函數(shù)

array.forEach(function(currentValue, index, array) {
  // 執(zhí)行操作
}, thisArg);

回調(diào)函數(shù)中的參數(shù):

currentValue當前處理的數(shù)組元素
index當前元素的索引
array正在遍歷的數(shù)組本身

可以只接收數(shù)組內(nèi)的值,不接收索引和數(shù)組本身

例子:

const numbers = [1, 2, 3];
numbers.forEach(num => {
  console.log(num); // 輸出:1, 2, 3
});

注意:

forEach 不會返回新數(shù)組

無法通過 return 或 break 中斷循環(huán)

對空數(shù)組調(diào)用 forEach 不會執(zhí)行回調(diào)函數(shù)

三.map循環(huán)

JavaScript 中的 map 方法是數(shù)組的高階函數(shù)之一,用于遍歷數(shù)組并對每個元素執(zhí)行操作,最終返回一個新數(shù)組,而不會修改原數(shù)組

const newArray = array.map(function(currentValue, index, arr) {
  // 返回處理后的元素
}, thisValue);

回調(diào)函數(shù)中的參數(shù):

currentValue當前處理的元素
index當前元素的索引
arr原數(shù)組

例子:

const numbers = [1, 2, 3, 4];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8]

注意:

map 不會修改原數(shù)組,而是返回一個新數(shù)組。

如果未顯式返回任何值,回調(diào)函數(shù)會返回 undefined,導致新數(shù)組對應位置為 undefined。

forEach與map的區(qū)別

forEach:僅遍歷數(shù)組,無返回值(返回 undefined

map:遍歷并返回新數(shù)組,每個元素由回調(diào)函數(shù)處理后的結(jié)果組成,適合數(shù)據(jù)轉(zhuǎn)換

四.filter循環(huán)(過濾)

filter 是 JavaScript 數(shù)組的一個高階函數(shù),用于創(chuàng)建一個新數(shù)組,包含通過回調(diào)函數(shù)測試的所有元素?;卣{(diào)函數(shù)返回 true 或 false,決定元素是否包含在新數(shù)組中

const newArray = array.filter(callback(element, index, array));

回調(diào)函數(shù)中的參數(shù):

element當前處理的元素
index當前元素的索引
array調(diào)用 filter 的數(shù)組

示例:過濾出大于 2 的數(shù)字

const numbers = [1, 2, 3, 4];
const filtered = numbers.filter(num => num > 2);
console.log(filtered); // [3, 4]

注意:

filter 不會修改原數(shù)組,而是返回一個新數(shù)組

如果所有元素都不滿足條件,返回空數(shù)組

回調(diào)函數(shù)必須是返回布爾值的函數(shù),否則會隱式轉(zhuǎn)換為布爾值

五.some循環(huán)

在JavaScript中,Array.prototype.some()是一個數(shù)組方法,用于測試數(shù)組中是否至少有一個元素滿足給定的條件。該方法會遍歷數(shù)組中的每個元素,直到找到一個滿足條件的元素為止

array.some(callback(element, index, array), thisArg)

回調(diào)函數(shù)中的參數(shù):

callback測試每個元素的函數(shù),接收三個參數(shù)
element當前處理的元素
index當前元素的索引
array調(diào)用 some() 的數(shù)組本身

返回值

如果數(shù)組中至少有一個元素滿足條件,返回 true

如果所有元素均不滿足條件,返回 false

示例:檢查數(shù)組中是否有偶數(shù)

const numbers = [1, 3, 5, 7, 9];
const hasEvenNumber = numbers.some(num => num % 2 === 0);
console.log(hasEvenNumber); // 輸出: false

注意:

some() 不會修改原數(shù)組

如果數(shù)組為空,some() 始終返回 false

some() 會在找到第一個滿足條件的元素后立即停止遍歷

六.every循環(huán)

every 是 JavaScript 數(shù)組的一個內(nèi)置方法,用于檢測數(shù)組中的所有元素是否都滿足指定條件。該方法接受一個回調(diào)函數(shù)作為參數(shù),并對數(shù)組中的每個元素執(zhí)行該函數(shù),直到回調(diào)函數(shù)返回 false。如果所有元素都滿足條件(即回調(diào)函數(shù)對所有元素返回 true),則 every 方法返回 true;否則返回 false

array.every(callback(element, index, array), thisArg)
callback對每個元素執(zhí)行的函數(shù)
element當前處理的數(shù)組元素
index當前元素的索引
array調(diào)用 every 的數(shù)組本身

示例:檢查數(shù)組中所有元素是否為正數(shù)

const numbers = [1, 2, 3, 4, 5];
const allPositive = numbers.every(num => num > 0);
console.log(allPositive); // true

注意:

every 方法在遇到第一個返回 false 的回調(diào)時會立即停止遍歷數(shù)組

空數(shù)組調(diào)用 every 方法會返回 true(因為沒有任何元素不滿足條件)

every 不會改變原數(shù)組

some與every的區(qū)別

some在遇到第一個true時終止;every在遇到第一個false時終止

some對空數(shù)組始終返回false;every對空數(shù)組始終返回true(邏輯上稱為“空真”)

some適合存在性檢查;every適合全體一致性驗證 

every循環(huán)只有所有元素都滿足條件,才會返回true,哪怕只要有一個元素不滿足條件,就會返回false

七.reduce循環(huán)

reduce 是 JavaScript 數(shù)組的一個高階函數(shù),用于將數(shù)組元素通過回調(diào)函數(shù)累積為單個值。它遍歷數(shù)組的每個元素,并將上一次回調(diào)的結(jié)果作為下一次回調(diào)的輸入

array.reduce(callback(accumulator, currentValue, currentIndex, array), initialValue)
accumulator累積值,初始值為 initialValue 或數(shù)組的第一個元素
currentValue當前處理的數(shù)組元素
currentIndex當前元素的索引
array調(diào)用 reduce 的數(shù)組本身

示例:計算數(shù)組元素的總和

const numbers = [1, 2, 3, 4];
const sum = numbers.reduce((acc, curr) => acc + curr, 0);
console.log(sum); // 輸出: 10

注意:

如果數(shù)組為空且未提供 initialValuereduce 會拋出錯誤

提供 initialValue 可以避免因空數(shù)組導致的錯誤,同時明確初始累積值的類型

reduce 不會改變原數(shù)組,而是返回一個新的累積值

八.for in 循環(huán)

for...in 循環(huán)用于遍歷對象的可枚舉屬性(遍歷對象的屬性)

for (variable in object) {
  // 執(zhí)行的代碼
}
variable每次迭代時,將屬性名賦值給該變量
object被遍歷的對象

示例

const person = {
  name: 'John',
  age: 30,
  job: 'Developer'
};

for (const key in person) {
  if (person.hasOwnProperty(key)) {
    console.log(`${key}: ${person[key]}`);
  }
}

輸出

name: John
age: 30
job: Developer

九.for of 循環(huán)

for...of 循環(huán)是 ES6 引入的一種遍歷可迭代對象(如數(shù)組、字符串、Map、Set 等)的語法結(jié)構(gòu)

for of 循環(huán)數(shù)組(可迭代的對象)

for (variable of iterable) {
  // 執(zhí)行的代碼塊
}
variable每次迭代中,將迭代對象的當前屬性值賦給該變量
iterable可迭代對象,如數(shù)組、字符串、Map、Set 等

遍歷字符串

for...of 循環(huán)可以逐個字符遍歷字符串:

const text = 'hello';

for (const char of text) {
  console.log(char);
}
// 輸出:
// h
// e
// l
// l
// o

補充:

通過添加keys()方法可以獲取數(shù)組的索引

通過添加values()方法可以獲取數(shù)組的值

通過添加entries()方法可以獲取數(shù)組的索引和值

通過結(jié)構(gòu)賦值直接將索引和值賦值給變量

for of 和for in 區(qū)別

遍歷目標不同

for...of 用于遍歷可迭代對象(如數(shù)組、字符串、Map、Set 等),直接獲取元素值

for...in 用于遍歷對象的可枚舉屬性(包括原型鏈上的屬性),獲取的是鍵名(key)

適用場景

for...of 適合需要直接操作元素值的場景(如數(shù)組遍歷)

for...in 適合需要檢查對象屬性或調(diào)試的場景(但通常需配合 hasOwnProperty 過濾原型屬性)

十.find 循環(huán)

find 返回第一個滿足條件的值

 let newVal = arr.find(function(val,index,thisArr){
             if(val >5){
                 return true;
            }
         })
         console.log(newVal)
val當前遍歷的數(shù)組元素
index當前元素的索引(可選
thisArr原始數(shù)組(可選)

十一.findIndex 循環(huán)

findIndex 返回第一個滿足條件的索引

findIndex 是 JavaScript 數(shù)組的一個內(nèi)置方法,用于查找數(shù)組中第一個滿足條件的元素的索引。如果找不到符合條件的元素,返回 -1

array.findIndex(callback(element, index, array), thisArg)
element當前處理的元素
index當前元素的索引
array調(diào)用 findIndex 的數(shù)組本身

注意:

findIndex 在找到目標后會立即終止遍歷

空槽(empty)元素會被跳過,回調(diào)不會執(zhí)行

若需提前終止循環(huán),findIndex 本身已實現(xiàn)

總結(jié)

到此這篇關于JavaScript循環(huán)語句常見使用例子的文章就介紹到這了,更多相關JS循環(huán)語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • JS處理數(shù)據(jù)四舍五入(tofixed與round的區(qū)別詳解)

    JS處理數(shù)據(jù)四舍五入(tofixed與round的區(qū)別詳解)

    下面小編就為大家?guī)硪黄狫S處理數(shù)據(jù)四舍五入(tofixed與round的區(qū)別詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • js中數(shù)組的常用方法小結(jié)

    js中數(shù)組的常用方法小結(jié)

    這篇文章主要介紹了js中數(shù)組的常用方法,結(jié)合實例形式分析了js中的常用數(shù)組方法,如push、concat、pop、splice、reverse、join等功能與用法,需要的朋友可以參考下
    2016-12-12
  • JavaScript使用Fetch的方法詳解

    JavaScript使用Fetch的方法詳解

    Fetch?API提供了一個JavaScript接口,用于訪問和操縱HTTP管道的部分。它還提供了一個全局?fetch()方法,該方法提供了一種簡單,合理的方式來跨網(wǎng)絡異步獲取資源。本文將詳解JS如何使用Fetch,感興趣的可以學習一下
    2022-05-05
  • 使用JavaScript獲取掃碼槍掃描得到的條形碼的思路代碼詳解

    使用JavaScript獲取掃碼槍掃描得到的條形碼的思路代碼詳解

    這篇文章主要介紹了使用JavaScript獲取掃碼槍掃描得到的條形碼的思路代碼詳解,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 前端實現(xiàn)圖片或視頻預覽的三種方法總結(jié)

    前端實現(xiàn)圖片或視頻預覽的三種方法總結(jié)

    在JavaScript中實現(xiàn)前端圖片上傳即時預覽功能是一項常見的需求,特別是在網(wǎng)頁交互設計中,這篇文章主要給大家介紹了關于前端實現(xiàn)圖片或視頻預覽的三種方法,需要的朋友可以參考下
    2024-06-06
  • 前端應用中的JavaScript執(zhí)行效率優(yōu)化指南

    前端應用中的JavaScript執(zhí)行效率優(yōu)化指南

    在現(xiàn)代 Web 應用中,JavaScript 執(zhí)行效率直接影響頁面的加載速度、交互響應和整體用戶體驗,隨著前端應用的日益復雜,優(yōu)化 JavaScript 的執(zhí)行效率成為前端開發(fā)者的核心任務之一,本文將從多個維度詳細探討如何優(yōu)化前端應用中的 JavaScript 執(zhí)行效率,需要的朋友可以參考下
    2025-05-05
  • javascript同頁面多次調(diào)用彈出層具體實例代碼

    javascript同頁面多次調(diào)用彈出層具體實例代碼

    一個在同一個頁面可多次調(diào)用的javascript彈出層效果,有需要的同學可以參考一下
    2013-08-08
  • JavaScript生成福利彩票雙色球號碼

    JavaScript生成福利彩票雙色球號碼

    無聊用javascript寫了個隨機產(chǎn)生福利彩票雙色球7個數(shù)字的號碼其中紅色球不會重復,喜歡的可以下來看看,有意見的可以說說
    2015-05-05
  • Js實現(xiàn)粘貼上傳圖片的原理及示例

    Js實現(xiàn)粘貼上傳圖片的原理及示例

    這篇文章主要介紹了Js實現(xiàn)粘貼上傳圖片的原理及示例,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下
    2020-12-12
  • 詳解webpack運行Babel教程

    詳解webpack運行Babel教程

    這篇文章主要介紹了詳解webpack運行Babel教程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06

最新評論

合水县| 丰都县| 博乐市| 孟村| 达孜县| 海淀区| 江华| 花莲市| 南华县| 昌江| 喜德县| 刚察县| 旬邑县| 贵港市| 青川县| 原阳县| 富锦市| 黔南| 赤峰市| 遂宁市| 阜阳市| 榆中县| 揭西县| 上思县| 丰镇市| 萨迦县| 齐齐哈尔市| 包头市| 大竹县| 商都县| 醴陵市| 库车县| 修武县| 玉溪市| 黄骅市| 谢通门县| 伊春市| 资讯 | 舒城县| 达孜县| 汾西县|