JavaScript find()方法及返回?cái)?shù)據(jù)實(shí)例
顧名思義就是 查找傳入的對(duì)應(yīng)數(shù)據(jù)
當(dāng)數(shù)組中的元素在測(cè)試條件時(shí)返回 true 時(shí), find() 返回符合條件的元素,之后的值不會(huì)再調(diào)用執(zhí)行函數(shù)。
如果沒(méi)有符合條件的元素返回 undefined
// 定義一個(gè)需要被查找的數(shù)組 var memoList = [{ id: 1, name: '1' },{ id: 2, name: '2' },{ id: 3, name: '3' }] // 用 editItem 變量將 查找出來(lái)的數(shù)據(jù)進(jìn)行接收 var editItem = memoList.find((ele) => { return ele.id == 2 }) // 打印 editItem 得到的結(jié)果是 {id: 2, name: '2'}
這看起來(lái)和沒(méi)什么區(qū)別呀。。。
但是~~
// 我們修改 接收后的值 editItem 的值 editItem.name = '我是修改后的' // 我們?cè)俅蛴∫幌?editItem console.log( editItem ) // {id: 2, name: '我是修改后的'}
感覺(jué)很正常嘛~
然后我們?cè)俅蛴∫幌?被查找的數(shù)據(jù) memoList
console.log(memoList) // [{id: 1, name: "1"}, {id: 2, name: "我是修改后的"}, {id: 3, name: "3"}] // 看得沒(méi) memoList 內(nèi)的數(shù)據(jù)也被修改了
這里就反應(yīng)出 fine() 方法返回的結(jié)果內(nèi)存指向依然是 memoList 所指向的內(nèi)存地址
所有這里返回的是淺拷貝的數(shù)據(jù)
注意: find() 對(duì)于空數(shù)組,函數(shù)是不會(huì)執(zhí)行的。
注意: find() 并沒(méi)有改變數(shù)組的原始值。
瀏覽器支持
表格中的數(shù)字表示支持該方法的第一個(gè)瀏覽器版本號(hào)。
方法 | |||||
---|---|---|---|---|---|
find() | 45.0 | 12.0 | 25.0 | 7.1 | 32.0 |
注意: IE 11 及更早版本不支持 find() 方法。
array.find(function(currentValue, index, arr),thisValue)
參數(shù)
參數(shù) | 描述 | ||||||||
---|---|---|---|---|---|---|---|---|---|
function(currentValue, index,arr) | 必需。數(shù)組每個(gè)元素需要執(zhí)行的函數(shù)。 函數(shù)參數(shù):
|
||||||||
thisValue | 可選。 傳遞給函數(shù)的值一般用 “this” 值。 如果這個(gè)參數(shù)為空, “undefined” 會(huì)傳遞給 “this” 值 |
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript制作簡(jiǎn)易的微信打飛機(jī)
這篇文章主要介紹了JavaScript制作簡(jiǎn)易的微信打飛機(jī),只有簡(jiǎn)單的功能,大神們可以自由擴(kuò)展哈。有需要的小伙伴可以參考下。2015-03-03webpack配置proxyTable時(shí)pathRewrite無(wú)效的解決方法
這篇文章主要介紹了webpack配置proxyTable時(shí)pathRewrite無(wú)效的解決方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12javascript使用for循環(huán)批量注冊(cè)的事件不能正確獲取索引值的解決方法
這篇文章主要介紹了javascript使用for循環(huán)批量注冊(cè)的事件不能正確獲取索引值的解決方法,對(duì)比分析了出現(xiàn)問(wèn)題的代碼與修改后的代碼,并給出了采用閉包實(shí)現(xiàn)的方法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12JavaScript中標(biāo)識(shí)符提升問(wèn)題
標(biāo)識(shí)符指的是javascript中定義的符號(hào),標(biāo)識(shí)符可以由任意順序的大小寫(xiě)字母、數(shù)字、下劃線和美元符號(hào)組成,但標(biāo)識(shí)符不能以數(shù)字開(kāi)頭,也不能是javascript中的保留關(guān)鍵字。并且要注意,javascript是嚴(yán)格區(qū)分大小寫(xiě)的。2015-06-06通過(guò)實(shí)例了解Render Props回調(diào)地獄解決方案
這篇文章主要介紹了通過(guò)實(shí)例了解Render Props回調(diào)地獄解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11如何在webpack項(xiàng)目中調(diào)試loader插件
最近在學(xué)習(xí)webpack,本文主要介紹了loader插件的調(diào)試方法,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06