ES6语法find查匹配数组
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
filter过滤对象数组<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返回全部结果仍然是数组。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论