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ù)。
如果沒有符合條件的元素返回 undefined
// 定義一個(gè)需要被查找的數(shù)組var memoList = [{id: 1, name: ’1’ },{id: 2, name: ’2’ },{id: 3, name: ’3’ }]// 用 editItem 變量將 查找出來的數(shù)據(jù)進(jìn)行接收var editItem = memoList.find((ele) => { return ele.id == 2 }) // 打印 editItem 得到的結(jié)果是 {id: 2, name: ’2’}
這看起來和沒什么區(qū)別呀。。。
但是~~
// 我們修改 接收后的值 editItem 的值editItem.name = ’我是修改后的’// 我們?cè)俅蛴∫幌?editItem console.log( editItem ) // {id: 2, name: ’我是修改后的’}
感覺很正常嘛~
然后我們?cè)俅蛴∫幌?被查找的數(shù)據(jù) memoList
console.log(memoList) // [{id: 1, name: '1'}, {id: 2, name: '我是修改后的'}, {id: 3, name: '3'}]// 看得沒 memoList 內(nèi)的數(shù)據(jù)也被修改了
這里就反應(yīng)出 fine() 方法返回的結(jié)果內(nèi)存指向依然是 memoList 所指向的內(nèi)存地址
所有這里返回的是淺拷貝的數(shù)據(jù)
注意: find() 對(duì)于空數(shù)組,函數(shù)是不會(huì)執(zhí)行的。
注意: find() 并沒有改變數(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ù): 參數(shù) 描述currentValue 必需。當(dāng)前元素index 可選。當(dāng)前元素的索引值arr 可選。當(dāng)前元素所屬的數(shù)組對(duì)象 thisValue 可選。 傳遞給函數(shù)的值一般用 “this” 值。 如果這個(gè)參數(shù)為空, “undefined” 會(huì)傳遞給 “this” 值
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 讀大數(shù)據(jù)量的XML文件的讀取問題2. 概述IE和SQL2k開發(fā)一個(gè)XML聊天程序3. CSS可以做的幾個(gè)令你嘆為觀止的實(shí)例分享4. jsp文件下載功能實(shí)現(xiàn)代碼5. JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能6. ASP實(shí)現(xiàn)加法驗(yàn)證碼7. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案8. JSP之表單提交get和post的區(qū)別詳解及實(shí)例9. asp知識(shí)整理筆記4(問答模式)10. javascript xml xsl取值及數(shù)據(jù)修改第1/2頁(yè)
