久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

javascript - Array.find+箭頭函數

瀏覽:150日期:2023-05-30 18:26:29

問題描述

昨天看到一段代碼,是這樣的:

const pets = [ { type: ’Dog’, name: ’Max’}, { type: ’Cat’, name: ’Karl’}, { type: ’Dog’, name: ’Tommy’},]function findDog(name) { for(let i = 0; i<pets.length; ++i) { if(pets[i].type === ’Dog’ && pets[i].name === name) { return pets[i]; } }}

用短方法后:

pet = pets.find(pet => pet.type ===’Dog’ && pet.name === ’Tommy’);console.log(pet); // { type: ’Dog’, name: ’Tommy’ }

我查了查arr.find方法,定義是array.find(function(currentValue, index, arr),thisValue)

上面的代碼在pet=pets.find()內又傳入pet,而沒有參數,想知道這段代碼到底是如何實現的呢?請諸大神幫解惑

問題解答

回答1:

pet = pets.find(function(pet) { return pet.type === ’Dog’ && pet.name === ’Tommy’;});

把箭頭函數轉換成ES5就是這樣。

find用于找出第一個符合條件的數組成員。它的參數是一個回調函數,所有數組成員依次執行該回調函數,直到找出第一個返回值為true的成員,然后返回該成員。如果沒有符合條件的成員,則返回undefined。

這些API還是需要多查閱文檔,都是基礎知識不用轉彎的東西。

MDN文檔

es6 手冊

回答2:

pets.find(pet => pet.type ===’Dog’ && pet.name === ’Tommy’);等效于

pets.find((pet) => { return pet.type ===’Dog’ && pet.name === ’Tommy’;});

箭頭函數只有一個參數的時候,小括號可以省略

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 琼中| 民乐县| 临城县| 贵德县| 周口市| 青铜峡市| 桃园县| 三都| 沙雅县| 贵溪市| 牡丹江市| 阿克陶县| 三门峡市| 汝阳县| 贵州省| 德令哈市| 工布江达县| 江源县| 亳州市| 秭归县| 鹰潭市| 绩溪县| 丹凤县| 温宿县| 松潘县| 普宁市| 永修县| 广安市| 武定县| 讷河市| 齐河县| 淮滨县| 罗甸县| 宣威市| 赤峰市| 错那县| 上林县| 台州市| 瑞丽市| 福州市| 原阳县|