JavaScript find()方法及返回數(shù)據(jù)實例
顧名思義就是 查找傳入的對應數(shù)據(jù)
當數(shù)組中的元素在測試條件時返回 true 時, find() 返回符合條件的元素,之后的值不會再調(diào)用執(zhí)行函數(shù)。
如果沒有符合條件的元素返回 undefined
// 定義一個需要被查找的數(shù)組
var memoList = [{
id: 1, name: '1'
},{
id: 2, name: '2'
},{
id: 3, name: '3'
}]
// 用 editItem 變量將 查找出來的數(shù)據(jù)進行接收
var editItem = memoList.find((ele) => {
return ele.id == 2
})
// 打印 editItem 得到的結果是 {id: 2, name: '2'}
這看起來和沒什么區(qū)別呀。。。
但是~~
// 我們修改 接收后的值 editItem 的值
editItem.name = '我是修改后的'
// 我們再打印一下 editItem
console.log( editItem ) // {id: 2, name: '我是修改后的'}
感覺很正常嘛~
然后我們再打印一下 被查找的數(shù)據(jù) memoList
console.log(memoList)
// [{id: 1, name: "1"}, {id: 2, name: "我是修改后的"}, {id: 3, name: "3"}]
// 看得沒 memoList 內(nèi)的數(shù)據(jù)也被修改了
這里就反應出 fine() 方法返回的結果內(nèi)存指向依然是 memoList 所指向的內(nèi)存地址
所有這里返回的是淺拷貝的數(shù)據(jù)
注意: find() 對于空數(shù)組,函數(shù)是不會執(zhí)行的。
注意: find() 并沒有改變數(shù)組的原始值。
瀏覽器支持
表格中的數(shù)字表示支持該方法的第一個瀏覽器版本號。
| 方法 | |||||
|---|---|---|---|---|---|
| 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ù)組每個元素需要執(zhí)行的函數(shù)。 函數(shù)參數(shù):
|
||||||||
| thisValue | 可選。 傳遞給函數(shù)的值一般用 “this” 值。 如果這個參數(shù)為空, “undefined” 會傳遞給 “this” 值 |
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
webpack配置proxyTable時pathRewrite無效的解決方法
這篇文章主要介紹了webpack配置proxyTable時pathRewrite無效的解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12
javascript使用for循環(huán)批量注冊的事件不能正確獲取索引值的解決方法
這篇文章主要介紹了javascript使用for循環(huán)批量注冊的事件不能正確獲取索引值的解決方法,對比分析了出現(xiàn)問題的代碼與修改后的代碼,并給出了采用閉包實現(xiàn)的方法,具有一定的參考借鑒價值,需要的朋友可以參考下2014-12-12
通過實例了解Render Props回調(diào)地獄解決方案
這篇文章主要介紹了通過實例了解Render Props回調(diào)地獄解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11

