1. 程式人生 > >ES6,Array.find()和findIndex()函式的用法

ES6,Array.find()和findIndex()函式的用法

ES6為Array增加了find(),findIndex函式。

find()函式用來查詢目標元素,找到就返回該元素,找不到返回undefined。

findIndex()函式也是查詢目標元素,找到就返回元素的位置,找不到就返回-1。

他們的都是一個查找回調函式。

[1, 2, 3, 4].find((value, index, arr) => {
  
})

查詢函式有三個引數。

value:每一次迭代查詢的陣列元素。

index:每一次迭代查詢的陣列元素索引。

arr:被查詢的陣列。

例:

1.查詢元素,返回找到的值,找不到返回undefined。

const arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
var ret1 = arr1.find((value, index, arr) => {
  return value > 4
})

var ret2 = arr1.find((value, index, arr) => {
  return value > 14
})
console.log('%s', ret1)
console.log('%s', ret2)

結果:

5
undefined

2.查詢元素,返回找到的index,找不到返回-1。

var ret3 = arr1.findIndex((value, index, arr) => {
  return value > 4
})

var ret4 = arr1.findIndex((value, index, arr) => {
  return value > 14
})
console.log('%s', ret3)
console.log('%s', ret4)

結果:

4
-1

3.查詢NaN。

const arr2 = [1, 2, NaN, 4, 5, 6, 7, 8, 9, 10, 11]
var ret5 = arr2.find((value, index, arr) => {
  return Object.is(NaN, value)
})

var ret6 = arr2.findIndex((value, index, arr) => {
  return Object.is(NaN, value)
})
console.log('%s', ret5)
console.log('%s', ret6)

結果:

NaN 
2   

End

相關推薦

【Vue】ES6Array.find()findIndex()函式用法

ES6為Array增加了find(),findIndex函式。 find()函式用來查詢目標元素,找到就返回該元素,找不到返回undefined。 findIndex()函式也是查詢目標元素,找到就返回元素的位置,找不到就返回-1。 他們的都是一個查找回調函式。 [1, 2, 3,

ES6Array.find()findIndex()函式用法

ES6為Array增加了find(),findIndex函式。 find()函式用來查詢目標元素,找到就返回該元素,找不到返回undefined。 findIndex()函式也是查詢目標元素,找到就返回元素的位置,找不到就返回-1。 他們的都是一個查找回調函式。

ES6Array.find()方法Array.findIndex()方法

 兩種方法不會改變原陣列 該方法在第一次呼叫回撥函式的時候就已經確定好索引,在find()方法執行之後再新增到的不會被執行,而刪除的項通向會被執行到,值是undefined。   let a = [1,2,3,4,5,6,7,8,9] a.find(function(

ES6Array.of的用法

只有一個 span 函數 clas 多個參數 new spa color arr ES6為Array增加了of函數用已一中明確的含義將一個或多個值轉換成數組。 因為,用new Array()構造數組的時候,是有二意性的。 構造時,傳一個參數,表示生成多大的數組。

Array.find()Array.findIndex()

ES6新增的兩個方法,根據回撥函式返回作為判斷依據,按照陣列順序進行遍歷,符合條件(為真)時find()返回該值、findIndex()返回下標。 1.語法 arr.find(callback[, thisArg]) arr.findIndex(callback[, thisArg]) callba

在jquery中find()children()函式之間的不同之處

find()和children()方法被用來過濾匹配元素的子元素,前者可以在所有的後代中進行過濾,而後者僅在子級層進行過濾。 簡單的說: 1 find()—搜尋匹配元素的孩子,孫子等所有的後代層。 2 child()—僅搜尋匹配元素的孩子層。 以下是一個完整的例項來闡

將form中的值轉換為鍵值對函式Json.parsejson.stringify()用法

var utils = {//將form中的值轉換為鍵值對函式 getFormJSON: function(form) { var jsonData = {};

C++(9):findsubstr函式用法

在C++中,對string的操作中,如果需要在字串中尋找指定的某個值,如在“dkgjoaidjfajlkbestadsjgoaijdl”這樣一個字串中找一個小字串“hello”,則可以用到string類提供的find()函式,這個函式在庫中進行了多次過載,有幾種不同的用法。

es6 陣列例項的 find() findIndex()

陣列例項的find方法,用於找出第一個符合條件的陣列成員。它的引數是一個回撥函式,所有陣列成員依次執行該回調函式,直到找出第一個返回值為true的成員,然後返回該成員。如果沒有符合條件的成員,則返回undefined。[1, 4, -5, 10].find((n) =>

通過用Python輸出進度條效果學習perf_counter()sleep()函式用法

首先宣告一下,下面的程式碼是我在看中國大學mooc裡的教學視訊學來的。覺得很有意思,分享一下。先看一下,執行完畢的結果吧,進度條跑到了100%,停止之後的效果就是圖中所示。下面分析一下程式碼:port time                     #引入time庫,後面用

Linux下實現客戶端兩連跳ping百度修改dnsnmcil的用法

1.客戶端跳兩次路由器ping百度 rht vmctl reset 重置虛擬機器 真機和虛擬機器開啟火牆策略 用在配置網路單元學的修改兩機閘道器 設定server為雙網絡卡路由端接觸客戶端Desktop閘道器為1.1.1.100 路由器端設定GATEWAY為真機,記得syste

C++的中的繼承多型虛擬函式

首先繼承,多型,虛擬函式,我們先了解一下各位的關係。 繼承是子類繼承父類,完成基礎功能的獲取,當然繼承有三種許可權,public,protect和private,如果不加許可權限定,預設繼承是私有繼承。 許可權表如下: 所以可以看到凡私有成員,子類都不能用,不過有方法能用,這裡不討

153-練習5 對陣列進行排序Array.Sort氣泡排序演算法

5,編寫一個控制檯程式,要求使用者輸入一組數字用空格間隔,對使用者輸入的數字從小到大輸出。(Array.Sort方法和氣泡排序) Array.Sort()方法,CLR提供的排序方法,使用的是快速排序。 string str = Console.ReadLine();

函式指標指標函式用法區別

函式指標和指標函式用法和區別   前言 函式指標和指標函式,在學習 C 語言的時候遇到這兩個東西簡直頭疼,當然還有更頭疼的,比如什麼函式指標函式、指標函式指標、陣列指標、指標陣列、函式指標陣列等等,描述越長其定義就越複雜,當然理解起來就越難,特別是剛開始學習這門

js中substringsubstr函式用法

函式:  stringObject.substring(start,stop)  引數:  start 必需。一個非負的整數,規定要提取的子串的第一個字元在 stringObject 中的位置。  stop 可選。一個非負的整數,比要提取的子串的最後一個字元在

Python學習日記5|BeautifulSoup中findfind_all的用法

Python學習日記5|BeautifulSoup中find和find_all的用法  是藍先生 關注 2016.04.20 11:26* 字數 930 閱讀 37205評論 11喜歡 10 今天是4.20號。 前天晚上看到蔣方舟的一句話: 不要左顧右

python shape()函式format()函式用法

shape() shape():讀取矩陣長度,如shape[0]是讀取矩陣第一維的長度。 1.引數是一個數時,返回為空: 2.引數是一維矩陣: 3.引數是二維矩陣:  4.直接用shape()可快速讀取矩陣的形狀,shape[0]讀取矩陣第一維的

JavaScript筆記:最詳細的call函式apply函式用法總結

昨天聽了一堂直播,裡面有教到關於forEach函式的原始碼編寫,提到了call()和apply()函式,有點懵,這才發現之前我學的太快了,有很多細節沒有注意,當進行實戰時才發現漏了一些東西,現在開始查漏補缺。 今天就好好總結一下call()和apply()方法的應用。首先,這兩個函式

c#頁面重定向Server.Transfer Response.Redirect 用法區別

在ASP.NET中,在後臺傳值方式目前 大多都是用 Response.Redirect("頁面地址") 來重定向頁面的,但是現在還有一種方式也可以達到重定向頁面的作用,而且在某些時刻會起到一種很棒的效果,那就是使用 Server.Transfer("頁面地址") 來重定向地址。 現在我們來詳細瞭

三、PYTHON 學習筆記之 join split 函式用法

python join 和 split方法的使用,join用來連線字串,split恰好相反,拆分字串的。 1.join用法示例  >>>li = ['my','name','is