国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JS中的for in和for of

這篇具有很好參考價值的文章主要介紹了JS中的for in和for of。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在JavaScript中, for...in for...of 都是用于迭代循環(huán)的結(jié)構(gòu):

?

1. for...in 循環(huán):

for...in 循環(huán)主要用于遍歷對象的可枚舉屬性。這種循環(huán)不僅遍歷對象自身的屬性,還會遍歷原型鏈上的可枚舉屬性。它的語法如下:

for (variable in object) {
  // 執(zhí)行的代碼
}

其中 variable 是屬性名, object 是要遍歷的對象。

注意:雖然 for...in 循環(huán)也可以用于遍歷數(shù)組,但這并不推薦,因為它會遍歷數(shù)組的所有可枚舉屬性,包括非索引屬性和原型鏈上的屬性。

?

示例:

const obj = { a: 1, b: 2, c: 3 };

for (const key in obj) {
  console.log( ${key}: ${obj[key]} );
}

// 輸出:
// a: 1
// b: 2
// c: 3

?


2. for...of 循環(huán):

for...of 循環(huán)用于遍歷可迭代對象(例如數(shù)組、字符串、Map、Set等),這是ES6引入的新特性。它的語法如下:

for (variable of iterable) {
  // 執(zhí)行的代碼
}

其中 variable 是每次迭代時的當(dāng)前元素, iterable 是要遍歷的可迭代對象。

?

示例:

const arr = [1, 2, 3];

for (const value of arr) {
  console.log(value);
}

// 輸出:
// 1
// 2
// 3

?

?

? for...in for...of 循環(huán)在JavaScript中具有不同的使用場景,它們之間的主要區(qū)別如下:

1. 遍歷對象:

- for...in :適用于遍歷對象的可枚舉屬性,包括原型鏈上的屬性。它會遍歷對象自身的屬性以及繼承自原型鏈的可枚舉屬性。這對于處理對象屬性時非常有用。
- for...of :不適用于普通對象,因為它們不是可迭代的。如果需要遍歷對象屬性,建議使用 for...in 循環(huán)。

2. 遍歷數(shù)組:

- for...in :雖然可以用于遍歷數(shù)組,但并不推薦。因為 for...in 會遍歷所有可枚舉屬性,包括非索引屬性和原型鏈上的屬性。這可能導(dǎo)致意外的結(jié)果和性能問題。
- for...of :推薦用于遍歷數(shù)組,因為它只遍歷數(shù)組的元素,不會遍歷非索引屬性或原型鏈上的屬性。

3. 遍歷其他可迭代對象(例如字符串、Map、Set):

- for...in :不適用于遍歷這些可迭代對象。
- for...of :可以遍歷這些可迭代對象,如字符串、Map、Set等。

4. 性能:

- for...in :由于需要遍歷對象的原型鏈,可能導(dǎo)致性能較差。
- for...of :遍歷可迭代對象時,性能較好。

?

總結(jié):

- 使用 for...in 循環(huán)遍歷對象的可枚舉屬性(包括原型鏈上的屬性)。
- 使用 for...of 循環(huán)遍歷可迭代對象,如數(shù)組、字符串、Map、Set等。
- 在處理數(shù)組時,盡量避免使用 for...in 循環(huán),以防止意外的結(jié)果和性能問題。

?

在實際應(yīng)用中,根據(jù)數(shù)據(jù)類型和所需操作來選擇合適的循環(huán)結(jié)構(gòu)。同時,還可以考慮使用其他迭代方法,如數(shù)組的 forEach 、 map 、 filter 等高階函數(shù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-419187.html

到了這里,關(guān)于JS中的for in和for of的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • ES6 - Iterator迭代器和for...of 循環(huán)

    ES6 - Iterator迭代器和for...of 循環(huán)

    JavaScript 原有的表示“集合”的數(shù)據(jù)結(jié)構(gòu),主要是數(shù)組( Array )和對象( Object ),ES6 又添加了 Map 和 Set 。用戶還可以組合使用它們,定義自己的數(shù)據(jù)結(jié)構(gòu),比如數(shù)組的成員是 Map , Map 的成員是對象。這樣就需要一種統(tǒng)一的接口機(jī)制,來處理所有不同的數(shù)據(jù)結(jié)構(gòu)。 遍歷器(

    2024年02月14日
    瀏覽(70)
  • for in和for of的區(qū)別

    for in和for of的區(qū)別

    for in 使用于可枚舉的數(shù)據(jù) 如 對象 數(shù)組 字符串 什么是可枚舉的:屬性的enumerable值為true,表示可枚舉 可以通過es7新增的屬性 Object.getOwnPropertyDescriptors()驗證 查看 Object.getOwnPropertyDescriptor() 方法用于 返回 指定 對象 上一個自有 屬性 對應(yīng)的屬性描述符 看下圖打印的信息,enu

    2024年02月07日
    瀏覽(22)
  • 數(shù)組的5種遍歷(for循環(huán)、for...in、for...of、forEach()、map()

    數(shù)組:內(nèi)存中一塊連續(xù)的存儲單元,這些存儲單元具有共同的名稱,不同的索引(下標(biāo))。 數(shù)組5種遍歷: 1、for循環(huán) ? ? ? ?任何數(shù)組都可以使用for循環(huán)進(jìn)行遍歷,使用頻率最高 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? for (let i = 0; i arr.length; i++) { ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    2024年02月06日
    瀏覽(22)
  • 無涯教程-Javascript - For...in循環(huán)語句

    for ... in 循環(huán)用于循環(huán)訪問對象的屬性,由于無涯教程尚未討論 Objects 對象,您就會發(fā)現(xiàn)此循環(huán)非常有用。 “ for...in”循環(huán)的語法為: 在每次迭代中,將 object 對象中的一個屬性分配給 variablename 變量,此循環(huán)一直進(jìn)行到對象的所有屬性。 請嘗試以下示例來實現(xiàn)\\\" for-in\\\"循環(huán),它

    2024年02月16日
    瀏覽(20)
  • 你理解了for-in 和 for-of 嗎?他們有什么區(qū)別?

    【前言】 在 JavaScript 中,for 循環(huán)語句是編寫復(fù)雜程序時經(jīng)常使用的一種工具。其中,for-in 和 for-of 是兩個最常用的變體。盡管這兩者非常相似,但它們在迭代對象方面有所不同。在本文中,我們將探討 for-in 和 for-of 的不同之處,以及如何正確使用它們。 【正文】 一、for-

    2024年02月09日
    瀏覽(21)
  • 將 Jupyter Notebook 用于 JavaScript (使用 Node.js 或 Deno 環(huán)境)

    熟悉 Python 的讀者, 可能同樣對 IPython 或 Jupyter 等項目 (如 Jupyter Notebook) 有所耳聞. 正如其名, IPython 項目讓 Python 這門語言變得 “interactive”; 如: 交互式的 Shell 程序, 對交互式數(shù)據(jù)可視化以及 GUI 工具集的支持等等 (具體可見 IPython 項目的網(wǎng)站). 比如在 Notebook 中, 用戶可以實現(xiàn)

    2024年02月07日
    瀏覽(19)
  • JS中for---in的用法

    JS中for---in的用法

    for in 循環(huán)是一種特殊類型的循環(huán),也是普通?for?循環(huán)的變體,主要用來遍歷對象,也可以遍歷數(shù)組(但是不推薦),使用它可以將對象中的屬性依次循環(huán)出來,其語法格式如下: 控制臺輸出如下: 可以發(fā)現(xiàn)此時每次打印的key就是obj中的屬性名,obj表示打印obj這個對象 可能

    2024年02月12日
    瀏覽(18)
  • 用于圖像恢復(fù)的圖像層次結(jié)構(gòu)的高效和顯式建模Efficient and Explicit Modelling of Image Hierarchies for Image Restoration

    用于圖像恢復(fù)的圖像層次結(jié)構(gòu)的高效和顯式建模Efficient and Explicit Modelling of Image Hierarchies for Image Restoration

    本文的目的是提出一種機(jī)制,在 全局、區(qū)域和局部 范圍內(nèi)高效、明確地對圖像層次結(jié)構(gòu)進(jìn)行建模,以 進(jìn)行圖像恢復(fù) 。為實現(xiàn)這一目標(biāo),我們首先分析自然圖像的兩個重要屬性,包括 跨尺度相似性和各向異性圖像特征 。受此啟發(fā),我們提出了anchored stripe self-attention,它在

    2024年02月06日
    瀏覽(17)
  • Accurate 3D Prediction of Missing Teeth in Diverse Patterns for Precise Dental Implant Planning

    Accurate 3D Prediction of Missing Teeth in Diverse Patterns for Precise Dental Implant Planning

    近年來,由于種植體的高成功率和美觀優(yōu)勢,對種植體的需求激增。 然而,由于牙齒結(jié)構(gòu)的復(fù)雜性和牙齒脫落模式的可變性,準(zhǔn)確預(yù)測缺失牙齒的精確數(shù)字種植計劃仍然是一個挑戰(zhàn)。本研究提出了一種新的框架,用于準(zhǔn)確預(yù)測不同模式的缺牙,促進(jìn)數(shù)字化種植計劃。提出的框

    2024年01月23日
    瀏覽(34)
  • 論文閱讀RangeDet: In Defense of Range View for LiDAR-based 3D Object Detection

    論文閱讀RangeDet: In Defense of Range View for LiDAR-based 3D Object Detection

    論文:https://arxiv.org/pdf/2103.10039.pdf 代碼:https://github.com/tusen-ai/RangeDet 提出了一個名為RangeDet的新型3D物體檢測技術(shù),利用激光雷達(dá)數(shù)據(jù)。 RangeDet的核心在于使用了一種緊湊的表示方法,稱為范圍視圖,與其他常用方法相比,它避免了計算誤差。 根據(jù)論文中的討論,使用范圍視

    2024年04月13日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包