如何从对象数组中筛选符合条件的值
更新时间:2022年09月01日 10:29:09 作者:爱编译也爱吃肉的喵
这篇文章主要介绍了如何从对象数组中筛选符合条件的值,具有很好的参考价值,希望对大家有所帮助。
从对象数组中筛选符合条件的值
const arr = [1,2,3,4,5,6,7] const list = [ {openId: 1, timelineId: 1, showNo: 1, uid: 1}, {openId: 2, timelineId: 1, showNo: 1, uid: 1}, {openId: 9, timelineId: 1, showNo: 1, uid: 1}, {openId: 4, timelineId: 1, showNo: 1, uid: 1}, {openId: 5, timelineId: 1, showNo: 1, uid: 1} ] const params = list.filter(item=> arr.indexOf(item.openId) > -1) console.log(params)
将两个对象数组根据相同的索引index合并为一个数组
this.currentTotalList = this.totalList.map((item, index) => ({ ...item, ...daysList[index] }))
将两个对象数组根据相同的键值合并为一个数组
let currentEveryList = this.everyList.map(item => ({...item, ...signList.filter(s => s.signDate === item.signDate)[0]}))
从当前数组中筛选符合条件的值
this.materialss = this.materials.filter(item => item.categoryId === this.curTab.categoryId)
js根据已有数组,从数组对象中筛选数据
例如,已得到以下源数据
let dataArr = [ { id: 1, age: 15 }, { id: 2, age: 18 }, { id: 3, age: 16 }, { id: 4, age: 17 } ];
现在需要跟据获取的id数组(表格选中的行),筛选源数据
let goalArr = [1, 2];
解决思路
<script> let dataArr = [ { id: 1, age: 15 }, { id: 2, age: 18 }, { id: 3, age: 16 }, { id: 4, age: 17 } ]; let goalArr = [1, 2]; let resArr = []; goalArr.forEach((v, i) => { dataArr.forEach((item, index) => { if (item.id === v) { resArr.push(item) } }) }) console.log(resArr) // </script>
打印结果如下:
本来想用filter加forEach实现的,思路有点混乱烂尾了
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
javascript打造跨浏览器事件处理机制[Blue-Dream出品]
由于浏览器兼容的复杂性.打造一个较优的跨浏览器事件处理函数.不是件容易的事情.各大类库也都通过了种种方案去抽象一个庞大的事件机制.2010-07-07Javascript获取与设置ckeditor数据的实现方法
最近编辑器后台升级成了ckeditor,但原来后台有很多对应编辑器内容的替换功能,那么就需要用js获取ckeditor编辑器里面的内容,这里就为大家介绍一下具体的实现方法2023-08-08
最新评论