ES6語法find查找匹配數組


<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>find查找數組數據</title>
</head>
<body>
<script>
let myId = 3;
    
let data = [
    {id:1,value:false},
    {id:2,value:false},
    {id:3,value:false}
];
    
var findVal = data.find(item => {
    return item.id === myId;
});
 
findVal.value = true; //修改匹配項的值
 
console.log(findVal); // 打印匹配項數據
</script>
</body>
</html>


遇到個功能是要分類就想說在前端過濾,不要從查數據庫的時候過濾了。然后就想說除了filter還有啥好用的

發現有個find,測試一番之后發現

const list = [{'name':'1',index:1},{'name':'2'},{'name':'1'}]
let list2 = list.find(i=>i.name==='1') 

let list3 = list.filter(i=>i.name==='1')

console.log(list); [ { name: '1', index: 1 }, { name: '2' }, { name: '1' } ]
console.log(list2); { name: '1', index: 1 }

console.log(list3);[ { name: '1', index: 1 }, { name: '1' } ]

find 和 filter 都是不改變原數組的方法

但是find只查出第一個符合條件的結果像例子里是直接返回了一個對象而不是數組!

,而filter返回全部結果仍然是數組。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM