JavaScript find()方法及返回數據實例
顧名思義就是 查找傳入的對應數據
當數組中的元素在測試條件時返回 true 時, find() 返回符合條件的元素,之后的值不會再調用執行函數。
如果沒有符合條件的元素返回 undefined
// 定義一個需要被查找的數組var memoList = [{id: 1, name: ’1’ },{id: 2, name: ’2’ },{id: 3, name: ’3’ }]// 用 editItem 變量將 查找出來的數據進行接收var editItem = memoList.find((ele) => { return ele.id == 2 }) // 打印 editItem 得到的結果是 {id: 2, name: ’2’}
這看起來和沒什么區別呀。。。
但是~~
// 我們修改 接收后的值 editItem 的值editItem.name = ’我是修改后的’// 我們再打印一下 editItem console.log( editItem ) // {id: 2, name: ’我是修改后的’}
感覺很正常嘛~
然后我們再打印一下 被查找的數據 memoList
console.log(memoList) // [{id: 1, name: '1'}, {id: 2, name: '我是修改后的'}, {id: 3, name: '3'}]// 看得沒 memoList 內的數據也被修改了
這里就反應出 fine() 方法返回的結果內存指向依然是 memoList 所指向的內存地址
所有這里返回的是淺拷貝的數據
注意: find() 對于空數組,函數是不會執行的。
注意: find() 并沒有改變數組的原始值。
瀏覽器支持
表格中的數字表示支持該方法的第一個瀏覽器版本號。
方法 find() 45.0 12.0 25.0 7.1 32.0
注意: IE 11 及更早版本不支持 find() 方法。
array.find(function(currentValue, index, arr),thisValue)
參數
參數 描述 function(currentValue, index,arr) 必需。數組每個元素需要執行的函數。 函數參數: 參數 描述currentValue 必需。當前元素index 可選。當前元素的索引值arr 可選。當前元素所屬的數組對象 thisValue 可選。 傳遞給函數的值一般用 “this” 值。 如果這個參數為空, “undefined” 會傳遞給 “this” 值
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: