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: '      '}
普通の感じですね。
そして、検索されたデータをもう一度印刷します。

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(current Value,index,arr)、thisValue)
パラメータ
パラメータ
説明
function(current Value、index、arr)
必要です。配列の要素ごとに実行する関数が必要です。
関数のパラメータ:
 
パラメータ
説明
current Value
必要です。現在の要素
index
オプション。現在の要素の索引値
アール
オプション。現在の要素が属する配列オブジェクト
thisValue
オプション関数に渡す値は一般に「this」の値を使います。
このパラメータが空の場合、「undefined」は「this」の値に伝達されます。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。