您好,登錄后才能下訂單哦!
這篇文章主要介紹“javascript的each怎么使用”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“javascript的each怎么使用”文章能幫助大家解決問(wèn)題。
什么是each?
each 是一種循環(huán)方法,專門用于遍歷數(shù)組或?qū)ο笾械臄?shù)據(jù)。它被作為一個(gè)遍歷器使用,可以簡(jiǎn)化循環(huán)的編寫(xiě),并且使得代碼更加易于閱讀和理解。
在JavaScript 中,each 可以使用不同的庫(kù)或框架提供的方法,例如,jQuery 的 $.each(),Underscore.js 的 _.each(),以及 Lodash 的 _.forEach() 等。本文將以 Lodash 的 each 方法為例進(jìn)行講解。
如何使用each?
對(duì)于數(shù)組:
在使用每個(gè)庫(kù)提供的each方法之前,我們需要引用庫(kù)或者框架,然后才能使用其中的方法。在Lodash中,我們可以使用以下方式來(lái)引入each方法:
const _ = require('lodash');
接下來(lái),我們可以使用 _.each() 方法來(lái)遍歷數(shù)組,代碼如下:
let arr = ['apple', 'banana', 'pear']; _.each(arr, function(fruit) { console.log(fruit); });
上面的代碼中,我們遍歷了一個(gè)數(shù)組 arr,然后用了一個(gè)匿名函數(shù)作為回調(diào)函數(shù),將每個(gè)元素的值輸出到控制臺(tái)。
在這個(gè)例子中,我們使用了一個(gè)匿名函數(shù)來(lái)打印每個(gè)水果。但是我們也可以使用一種更簡(jiǎn)單的寫(xiě)法來(lái)處理上述的例子。例如我們可以使用箭頭函數(shù)來(lái)代替?zhèn)鹘y(tǒng)的匿名函數(shù):
_.each(arr, fruit => console.log(fruit));
這種方式更加簡(jiǎn)潔和易于閱讀,并且對(duì)于只有一行代碼的匿名函數(shù)來(lái)說(shuō),也非常適合使用這種方式進(jìn)行簡(jiǎn)化。
對(duì)于對(duì)象:
在使用 each 遍歷對(duì)象時(shí),我們需要修改 each 方法中的參數(shù),例如:
let obj = {name: 'Tom', age: 18}; _.each(obj, function(value, key) { console.log(key + ': ' + value); });
上面的代碼中,我們使用了一個(gè)對(duì)象 obj,并通過(guò) each 方法遍歷了它,并將對(duì)象的 key-value 對(duì)輸出到了控制臺(tái)。每個(gè)對(duì)象的鍵和值將分別傳遞給回調(diào)函數(shù)作為參數(shù)。
valueOf
對(duì)于 Lodash 的 _.each() 方法,還有一個(gè)與默認(rèn)每個(gè)項(xiàng)目處理邏輯不同的方法,它是 valueOf() 方法。如果我們使用 valueOf() 方法,則回調(diào)函數(shù)規(guī)定第一個(gè)參數(shù)總是要傳入 valueOf() 返回的值。例如:
let obj = {name: 'Tom', age: 18}; _.each(obj, function(value, key) { console.log(value); }, function() { return this.age; }.valueOf());
上面的代碼中,我們使用 valueOf() 方法并在回調(diào)函數(shù)中返回了對(duì)象的年齡。因此,在控制臺(tái)上,只輸出了對(duì)象的年齡 18。
關(guān)于“javascript的each怎么使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。