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

JavaScript:js數(shù)組/對象遍歷方法

這篇具有很好參考價值的文章主要介紹了JavaScript:js數(shù)組/對象遍歷方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

一、js遍歷方法

序號 方法 描述
1 for 使用最基本的for循環(huán)可以遍歷數(shù)組
2 for of for...of語句用來遍歷可迭代對象(包括數(shù)組、Set、Map、字符串等),它可以替代傳統(tǒng)的for循環(huán)和forEach()方法。for...of循環(huán)每次迭代都將返回一個值,而不是索引。
3 for in for...in語句用來遍歷對象的可枚舉屬性,包括自身的屬性和繼承的屬性。
4 forEach() forEach()方法接收一個回調(diào)函數(shù)作為參數(shù),用于遍歷數(shù)組中的每一個元素,可修改原數(shù)組。
5 map() map()方法也接收一個回調(diào)函數(shù)作為參數(shù),用于遍歷數(shù)組中的每一個元素,并返回一個新的數(shù)組。
6 filter() filter()方法也接收一個回調(diào)函數(shù)作為參數(shù),用于遍歷數(shù)組中的每一個元素,并返回滿足條件的元素,組成一個新的數(shù)組。
7 find() find()方法接收一個回調(diào)函數(shù)作為參數(shù),該回調(diào)函數(shù)會遍歷數(shù)組中的每一個元素,并返回一個布爾值。當(dāng)找到第一個滿足條件的元素時,find()方法會立即返回該元素,不再繼續(xù)遍歷數(shù)組。如果數(shù)組中沒有滿足條件的元素,則返回 undefined。
8 findIndex() findIndex()方法也接收一個回調(diào)函數(shù)作為參數(shù),該回調(diào)函數(shù)會遍歷數(shù)組中的每一個元素,并返回一個布爾值。當(dāng)找到第一個滿足條件的元素時,findIndex()方法會立即返回該元素的索引值,不再繼續(xù)遍歷數(shù)組。
9 some() some()方法接收一個回調(diào)函數(shù)作為參數(shù),用于遍歷數(shù)組中的每一個元素,并返回一個布爾值,表示是否有至少一個元素滿足條件。
10 any() any() 方法用于檢查數(shù)組中是否包含任何滿足指定條件的元素。如果有,則返回 true;否則返回 false。
11 every() every()方法接收一個回調(diào)函數(shù)作為參數(shù),用于遍歷數(shù)組中的每一個元素,并返回一個布爾值,表示是否所有元素都滿足條件。
12 reduce() reduce()方法也接收一個回調(diào)函數(shù)作為參數(shù),用于遍歷數(shù)組中的每一個元素,并返回一個累加值。

二、數(shù)組遍歷方法詳解

2.1、for 循環(huán)

使用最基本的 for 循環(huán)可以遍歷數(shù)組。

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

2.2、for of

for...of語句用來遍歷可迭代對象(包括數(shù)組、Set、Map、字符串等),它可以替代傳統(tǒng)的 for 循環(huán)和 forEach 方法。for...of循環(huán)每次迭代都將返回一個值,而不是索引。

const arr = [1, 2, 3, 4, 5];
for (const num of arr) {
  console.log(num);
}

輸出結(jié)果為:

1
2
3
4
5

for...of 循環(huán)還可以遍歷字符串,并且能夠正確處理 Unicode 字符。

const str = 'hello??world';
for (const char of str) {
  console.log(char);
}

輸出結(jié)果為:

h
e
l
l
o
??
w
o
r
l
d

需要注意的是:
for...of 循環(huán)不能遍歷普通對象,因?yàn)樗鼈儾皇强傻鷮ο蟆?br> 對于普通對象,可以使用 for...in 循環(huán)來遍歷對象的屬性。

2.3、for in

for...in語句用來遍歷對象的可枚舉屬性,包括自身的屬性和繼承的屬性。語法如下:

for (variable in object) {
  // code to be executed
}

其中,variable 表示屬性名,object 表示要遍歷的對象。在每次循環(huán)中,variable 都會被設(shè)置為一個屬性名,然后可以通過該屬性名來訪問對象的屬性值。

const person = {
  name: 'Alice',
  age: 30,
  email: 'alice@example.com'
};

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

輸出結(jié)果為:

name: Alice
age: 30
email: alice@example.com

需要注意的是,for...in循環(huán)遍歷的是對象的可枚舉屬性,不包括不可枚舉屬性和符號屬性。如果要遍歷對象的所有屬性,可以使用 Object.getOwnPropertyNames()、Object.getOwnPropertySymbols()Reflect.ownKeys() 方法來獲取對象的所有屬性名。同時,為了避免遍歷到繼承的屬性,可以使用 Object.hasOwnProperty() 方法判斷屬性是否是對象自身的屬性。

2.4、forEach()

forEach()方法接收一個回調(diào)函數(shù)作為參數(shù),用于遍歷數(shù)組中的每一個元素。

const arr = [1, 2, 3, 4, 5];
arr.forEach(function(item) {
  console.log(item);
});

2.5、map()

map() 方法也接收一個回調(diào)函數(shù)作為參數(shù),用于遍歷數(shù)組中的每一個元素,并返回一個新的數(shù)組。

const arr = [1, 2, 3, 4, 5];
const arr2 = arr.map(function(item) {
  return item * 2;
});
console.log(arr2);

2.6、filter()

filter()方法也接收一個回調(diào)函數(shù)作為參數(shù),用于遍歷數(shù)組中的每一個元素,并返回滿足條件的元素,組成一個新的數(shù)組。

const arr = [1, 2, 3, 4, 5];
const arr2 = arr.filter(function(item) {
  return item > 2;
});
console.log(arr2);

2.7、find()

find()方法接收一個回調(diào)函數(shù)作為參數(shù),該回調(diào)函數(shù)會遍歷數(shù)組中的每一個元素,并返回一個布爾值。當(dāng)找到第一個滿足條件的元素時,find() 方法會立即返回該元素,不再繼續(xù)遍歷數(shù)組。如果數(shù)組中沒有滿足條件的元素,則返回 undefined

find()方法的語法如下:

參數(shù)說明:

item:當(dāng)前遍歷到的元素。
index:當(dāng)前遍歷到的元素的下標(biāo)。
array:要遍歷的數(shù)組。

下面是一個簡單的示例,使用 find() 方法查找數(shù)組中第一個大于 3 的元素:

const arr = [1, 2, 3, 4, 5];
const result = arr.find(function(item) {
  return item > 3;
});
console.log(result); // 輸出:4

如果數(shù)組中沒有滿足條件的元素,則返回 undefined

const arr = [1, 2, 3];
const result = arr.find(function(item) {
  return item > 3;
});
console.log(result); // 輸出:undefined

2.8、findIndex()

JavaScript 中的 findIndex() 方法和 find() 方法類似,不同的是它返回的是第一個滿足條件的索引值,而不是對應(yīng)的元素值。

findIndex() 方法也接收一個回調(diào)函數(shù)作為參數(shù),該回調(diào)函數(shù)會遍歷數(shù)組中的每一個元素,并返回一個布爾值。當(dāng)找到第一個滿足條件的元素時,findIndex() 方法會立即返回該元素的索引值,不再繼續(xù)遍歷數(shù)組。

findIndex() 方法的語法如下:

array.findIndex(function(item, index, array) {
  // 滿足條件的邏輯代碼
});

參數(shù)說明:

item:當(dāng)前遍歷到的元素。
index:當(dāng)前遍歷到的元素的下標(biāo)。
array:要遍歷的數(shù)組。

下面是一個示例,使用 findIndex() 方法查找數(shù)組中第一個大于 3 的元素的索引值:

const arr = [1, 2, 3, 4, 5];
const result = arr.findIndex(function(item) {
  return item > 3;
});
console.log(result); // 輸出:3

如果數(shù)組中沒有滿足條件的元素,則返回 -1

const arr = [1, 2, 3];
const result = arr.findIndex(function(item) {
  return item > 3;
});
console.log(result); // 輸出:-1

2.9、some()

JavaScript 中的some()?方法是用于判斷數(shù)組中是否至少有一個元素滿足指定的條件,如果是則返回true,否則返回false。

some()?方法接受一個回調(diào)函數(shù)作為參數(shù),該函數(shù)接受三個參數(shù):

當(dāng)前處理的數(shù)組元素。
當(dāng)前處理的數(shù)組元素的索引。
當(dāng)前的數(shù)組對象。

回調(diào)函數(shù)必須返回一個布爾值。如果數(shù)組中至少有一個元素滿足該函數(shù)的條件,則some()?返回 true,否則返回 false。

下面是 some() 方法的語法:

array.some(function(currentValue, index, arr), thisValue)

其中,thisValue 參數(shù)可選,用于設(shè)置回調(diào)函數(shù)中 this 關(guān)鍵字的值。

以下是使用 some() 方法的一個例子,判斷數(shù)組 arr 中是否包含值為 5 的元素:

let arr = [1, 3, 5, 7, 9];
let hasFive = arr.some(function(num) {
  return num === 5;
});
console.log(hasFive);  // true

?2.10、any()

Array.prototype.any() 方法用于檢查數(shù)組中是否包含任何滿足指定條件的元素。如果有,則返回 true;否則返回 false。

const arr = [1, 2, 3, 4, 5];
const result = arr.any((num) => num > 3);
console.log(result); // true

在上面的代碼中,any() 方法用于檢查數(shù)組 arr 中是否包含任何一個數(shù)大于 3 的元素,由于數(shù)組中有 4 和 5 兩個數(shù)大于 3,因此方法返回 true。

需要注意的是,該方法只能用于數(shù)組類型。如果想要在其他類型中使用類似的功能,可以使用 some() 方法。

2.11、every()

every() 方法接收一個回調(diào)函數(shù)作為參數(shù),用于遍歷數(shù)組中的每一個元素,并返回一個布爾值,表示是否所有元素都滿足條件。

const arr = [1, 2, 3, 4, 5];
const allEven = arr.every(function(item) {
  return item % 2 === 0;
});
console.log(allEven);

2.12、reduce()

reduce() 方法也接收一個回調(diào)函數(shù)作為參數(shù),用于遍歷數(shù)組中的每一個元素,并返回一個累加值。

const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce(function(prev, curr) {
  return prev + curr;
});
console.log(sum);

三、過程記錄

3.1、foreach 和 map 都是用于遍歷數(shù)組或集合的函數(shù),但它們的用途不同

foreach 方法的目的是對數(shù)組或集合進(jìn)行迭代,并執(zhí)行操作。
foreach 方法執(zhí)行代碼塊,但不會生成一個新的數(shù)組或集合。因此,它對于不需要生成新數(shù)據(jù)結(jié)構(gòu)的操作很有用,比如打印數(shù)組中的元素或更改集合中的元素。

map 方法返回一個新的數(shù)組或集合,其中每個元素都是經(jīng)過函數(shù)處理的原始元素。
map 方法不會更改原始數(shù)組或集合,而是基于它們創(chuàng)建新的數(shù)據(jù)結(jié)構(gòu)。因此,map 方法很適合需要生成新集合或數(shù)組的操作。

例如,假設(shè)有一個存儲數(shù)字的數(shù)字?jǐn)?shù)組。要將所有數(shù)字加倍并打印結(jié)果,可以使用 foreach 方法,如下所示:

let arr = [1, 2, 3, 4, 5];
arr.forEach((num) => {
    console.log(num * 2);
});

要生成一個新的數(shù)組,其中包含原始數(shù)組的每個元素的兩倍,請使用 map 方法,如下所示:

let arr = [1, 2, 3, 4, 5];
let doubledArr = arr.map((num) => {
    return num * 2;
});
console.log(doubledArr); // Output: [2, 4, 6, 8, 10]

因此,使用 foreachmap 取決于您的需求。如果您需要執(zhí)行操作并不需要生成新的數(shù)組或集合,請使用 foreach。如果您需要生成一個新的數(shù)組或集合,請使用 map

四、歡迎交流指正,關(guān)注我,一起學(xué)習(xí)。

參考鏈接:

JS 5種遍歷對象的方式_超級切圖仔的博客-CSDN博客_js遍歷對象文章來源地址http://www.zghlxwxcb.cn/news/detail-706921.html

到了這里,關(guān)于JavaScript:js數(shù)組/對象遍歷方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • javascript設(shè)置數(shù)組對象中的key值方法

    方法一:保留舊數(shù)組 key 和 value ; 方法二:不保留舊數(shù)組 key 和 value ; 1說明:使用map循環(huán),在map循環(huán)內(nèi)創(chuàng)建一個新對象,將item要改變的key賦給新創(chuàng)建的對象里面新key值,然后push給一個新創(chuàng)建的數(shù)組newArr即可; 2?使用forEach循環(huán) + for循環(huán),通過Object.keys()來改變屬性key;

    2024年02月16日
    瀏覽(21)
  • 〖大前端 - 基礎(chǔ)入門三大核心之JS篇?〗- JavaScript 的「數(shù)組」

    〖大前端 - 基礎(chǔ)入門三大核心之JS篇?〗- JavaScript 的「數(shù)組」

    當(dāng)前子專欄 基礎(chǔ)入門三大核心篇 是免費(fèi)開放階段 。 推薦他人訂閱,可獲取扣除平臺費(fèi)用后的35%收益,文末名片加V! 說明:該文屬于 大前端全棧架構(gòu)白寶書專欄, 目前階段免費(fèi)開放 , 購買任意白寶書體系化專欄可加入 TFS-CLUB 私域社區(qū)。 福利:除了通過訂閱\\\"白寶書系列專

    2024年02月04日
    瀏覽(23)
  • 前端js 數(shù)據(jù)結(jié)構(gòu):對象 object、數(shù)組Array 、Map 的創(chuàng)建、增刪改 / 遍歷數(shù)據(jù)

    對象:由一組鍵值對組成的無序集合,可以通過鍵來獲取對應(yīng)的值。 每個鍵值對中的鍵是唯一的,值可以是任意類型的數(shù)據(jù)。 對象通常用來表示實(shí)體的屬性和方法。 1.1.1 對象字面量(最常用): {} 對象字面量:通過在大括號 {} 中定義對象的屬性和方法來創(chuàng)建對象。 這是最簡單

    2024年01月21日
    瀏覽(28)
  • javaScript中對象使用遍歷渲染鍵值對取值,Vue的{{}}中寫方法獲取值。

    ?類似于這樣的數(shù)據(jù)有若干條,我們希望展示的方式為 我的朋友: ? ? ? ? 陪我同眠的床伴【熊貓:花花,狗熊:阿壯】 此時在代碼中的應(yīng)該如果來寫? {{?item[Object.keys(item)[0]]?}}?會顯示數(shù)組元素的值,而?(Object.keys(item)[0])?會顯示數(shù)組元素的鍵。 i tem[Object.keys(item)[0]]會根

    2024年01月17日
    瀏覽(17)
  • 【前端|Javascript第5篇】全網(wǎng)最詳細(xì)的JS的內(nèi)置對象文章!

    【前端|Javascript第5篇】全網(wǎng)最詳細(xì)的JS的內(nèi)置對象文章!

    前言 在當(dāng)今數(shù)字時代,前端技術(shù)正日益成為塑造用戶體驗(yàn)的關(guān)鍵。我們在開發(fā)中需要用到很多js的內(nèi)置對象的一些屬性來幫助我們更快速的進(jìn)行開發(fā)。或許你是剛踏入前端領(lǐng)域的小白,或者是希望深入了解內(nèi)置對象的開發(fā)者,不論你的經(jīng)驗(yàn)如何,本篇博客都將給你詳細(xì)的講解

    2024年02月12日
    瀏覽(57)
  • JavaScript判斷數(shù)組對象是否含有某個值的方法(6種)

    JavaScript判斷數(shù)組對象是否含有某個值的方法(6種)

    文章內(nèi)容 文章鏈接 vue3 antd table表格的增刪改查(一) input輸入框根據(jù)搜索【后臺管理系統(tǒng)純前端filter過濾】 https://blog.csdn.net/XSL_HR/article/details/128072584?spm=1001.2014.3001.5501 vue3 antd table表格的增刪改查(二) input輸入框根據(jù)搜索【后臺管理系統(tǒng) 請求后端接口 前后端

    2024年02月06日
    瀏覽(29)
  • 前端基礎(chǔ)面試題:如何判斷對象是否具有某屬性?遍歷數(shù)組的方法有哪些?

    前端基礎(chǔ)面試題:如何判斷對象是否具有某屬性?遍歷數(shù)組的方法有哪些?

    一、如何判斷對象具有某屬性? 如: let obj={name:\\\'zhangsan\\\',age:21} 有以下方法 ( property 為屬性名的變量,實(shí)際上是key,鍵名): 1. property in obj 效果如圖: in 運(yùn)算符 2. Reflect.has(obj, property) 效果如圖: 關(guān)于 Reflect: ① 它是JS的一個內(nèi)置對象,無構(gòu)造函數(shù),可以用它遍歷對象的key,如

    2023年04月08日
    瀏覽(98)
  • 〖大前端 - 基礎(chǔ)入門三大核心之JS篇?〗- 面向?qū)ο笾畬ο蟮姆椒?、遍歷、深淺克隆

    〖大前端 - 基礎(chǔ)入門三大核心之JS篇?〗- 面向?qū)ο笾畬ο蟮姆椒ā⒈闅v、深淺克隆

    說明:該文屬于 大前端全棧架構(gòu)白寶書專欄, 目前階段免費(fèi) , 如需要項(xiàng)目實(shí)戰(zhàn)或者是體系化資源,文末名片加V! 作者:哈哥撩編程,十余年工作經(jīng)驗(yàn), 從事過全棧研發(fā)、產(chǎn)品經(jīng)理等工作,目前在公司擔(dān)任研發(fā)部門CTO。 榮譽(yù): 2022年度博客之星Top4、2023年度超級個體得主、谷

    2024年02月04日
    瀏覽(58)
  • 【JavaScript】對象的遍歷

    【JavaScript】對象的遍歷

    可枚舉屬性是指那些內(nèi)部“可枚舉”(enumerable)標(biāo)志設(shè)置為 true 的屬性 Object.getOwnPropertyDescriptor 靜態(tài)方法返回一個對象,用于描述指定對象上的特定屬性的配置。 通過直接的賦值和屬性初始化的屬性,該標(biāo)識值默認(rèn)為即為 true 對于通過 Object.defineProperty 等定義的屬性,該標(biāo)識值

    2024年02月05日
    瀏覽(21)
  • 【JavaScript】數(shù)組操作 遍歷、修改、新增、刪除等...

    【JavaScript】數(shù)組操作 遍歷、修改、新增、刪除等...

    目錄 一、數(shù)組是什么? 二、數(shù)組操作 2.1、遍歷 2.2、數(shù)組求最大值和最小值 2.3、修改 2.4、新增 追加到數(shù)組末尾 添加到數(shù)組開頭 2.5、刪除 數(shù)組是一種可以 按順序保存 數(shù)據(jù)的數(shù)據(jù)類型。 追加到數(shù)組末尾 數(shù)組.push() 方法將一個或多個元素添加到數(shù)組的末尾,并返回該數(shù)組的新

    2024年02月21日
    瀏覽(26)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包