1. 程式人生 > >find、filter、map的區別

find、filter、map的區別

1、find 查詢陣列中符合條件的第一個元素,如果沒有符合條件的元素則返回空陣列

var arr = [1,2,3,4,5,6,7]
var newarr=arr.find(v=>v===4)

var men=[
   {name:'zhangsan',age:'18',sex:''},
   {name:'lisi',age:'10086',sex:'nan'},
   {name:'xiaohuangren',age:'23',sex:'nan'},
   {name:'xiaokeai',age:'18',sex:''},
]
var women= men.find(person=> person.sex==='
')

 

2、filter 過濾陣列元素,返回過濾後的陣列,如果沒有符合條件的元素則返回空陣列
//輸出大於5的數,組成新陣列
var
arr = [1,2,3,4,5,6,7]; var newarr = arr.filter(function(num){ reture num>5?num:'' });

 

3、map 對每個陣列元素執行相同操作,返回執行後的新陣列(我喜歡稱呼他為對映,一一對應)
//給陣列的每一個元素加1,組成新陣列
var arr = [1,2,3,4,5,6,7];
var newarr=arr.map(function (num) {
    
return num+1; })

 

總結的話,他們三個的區別是很明顯的,
find是隻返回一個值,這個值是符合條件的第一個
filter是返回一個新陣列,這個新陣列中的值是符合條件的值組成的陣列
map 是返回一個與原陣列length相等的陣列,因為map是對每一個元素進行了操作