1. 程式人生 > 程式設計 >JavaScript find()方法及返回資料例項

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,arr) 必需。陣列每個元素需要執行的函式。
函式引數:

引數 描述
currentValue 必需。當前元素
index 可選。當前元素的索引值
arr 可選。當前元素所屬的陣列物件
thisValue 可選。 傳遞給函式的值一般用 “this” 值。
如果這個引數為空, “undefined” 會傳遞給 “this” 值

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。