日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ES6数组find实现嵌套数据匹配

發布時間:2024/5/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ES6数组find实现嵌套数据匹配 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

業務場景:

有兩個數據源A和B,格式為數組包裹的對象列表,對象里面有標識字段“user_id”

infoA = [{user_id: 4,org_id: 9,org_no: "1212121",name: "楊賽",sex: "男",cardno: "142729199611101418",phone: "13522687472",nation: "漢",native: "江蘇省南京市",birthday: "-",health: "其他",marital_status: "其他",classification: "未定義",face: "其他",education: "其他",expand: "",status: "其他",is_delete: 0,updated_at: "2021-12-01",created_at: "2021-11-25",org_name: "1212121",},{user_id: 8,org_id: 1,org_no: "01",name: "李歌女",sex: "男",cardno: "142719199711191257",phone: "13522681234",nation: "漢",native: "江蘇省南京市",birthday: "-",health: "其他",marital_status: "其他",classification: "未定義",face: "其他",education: "其他",expand: "123",status: "其他",is_delete: 0,updated_at: null,created_at: "2021-11-26",org_name: "連云區一中",},{user_id: 9,org_id: 1,org_no: "01",name: "黃春花",sex: "男",cardno: "321719199711191257",phone: "13522685634",nation: "漢",native: "廣東省珠海市",birthday: "-",health: "其他",marital_status: "其他",classification: "未定義",face: "其他",education: "其他",expand: "fff",status: "其他",is_delete: 0,updated_at: null,created_at: "2021-12-29",org_name: "連云區一中",},{user_id: 11,org_id: 1,org_no: "01",name: "李歌女2",sex: "男",cardno: "142719199711191258",phone: "13522681234",nation: "漢",native: "江蘇省南京市",birthday: "-",health: "其他",marital_status: "其他",classification: "未定義",face: "其他",education: "其他",expand: "123",status: "其他",is_delete: 0,updated_at: null,created_at: null,org_name: "連云區一中",},],infoB = [{user_id: 4,org_id: 9,org_no: "1212121",name: "楊賽",sex: 1,cardno: "142729199611101418",phone: "13522687472",nation: "漢",native: "江蘇省南京市",birthday: "19961110",health: 0,marital_status: 0,classification: 0,face: 0,education: 1,expand: "",status: 0,is_delete: 0,updated_at: "1638343691",created_at: "1637823725",},{user_id: 8,org_id: 1,org_no: "01",name: "李歌女",sex: 2,cardno: "142719199711191257",phone: "13522681234",nation: "漢",native: "江蘇省南京市",birthday: "19971119",health: 1,marital_status: 1,classification: 1,face: 1,education: 1,expand: "123",status: 0,is_delete: 0,updated_at: null,created_at: "1637893773",},{user_id: 9,org_id: 1,org_no: "01",name: "黃春花",sex: 2,cardno: "321719199711191257",phone: "13522685634",nation: "漢",native: "廣東省珠海市",birthday: "19971119",health: 1,marital_status: 1,classification: 1,face: 1,education: 1,expand: "fff",status: 0,is_delete: 0,updated_at: null,created_at: "1640719204",},{user_id: 11,org_id: 1,org_no: "01",name: "李歌女2",sex: 2,cardno: "142719199711191258",phone: "13522681234",nation: "漢",native: "江蘇省南京市",birthday: "19971119",health: 1,marital_status: 1,classification: 1,face: 1,education: 1,expand: "123",status: 0,is_delete: 0,updated_at: null,created_at: null,},];

業務需求:

點擊數據源A中的某條數據時,獲取對應B中的數據。

ES6方法:

Array.find((value,index,arr)=>{ return 條件表達式;})

value:每一次迭代查找的數組元素。

index:每一次迭代查找的數組元素索引。

arr:被查找的數組。

返回符合條件表達式的第一個value

Array.findIndex((value,index,arr)=>{ return 條件表達式;})

返回符合條件表達式的第一個value的index

實現代碼:

// 假設被點擊的數據是下面這條,我們用變量example接收一下let example = {user_id: 11,org_id: 1,org_no: "01",name: "李歌女2",sex: "男",cardno: "142719199711191258",phone: "13522681234",nation: "漢",native: "江蘇省南京市",birthday: "-",health: "其他",marital_status: "其他",classification: "未定義",face: "其他",education: "其他",expand: "123",status: "其他",is_delete: 0,updated_at: null,created_at: null,org_name: "連云區一中",};// 在我們需要的數據源中進行查找,我們最終需要的是B中的數據,所以就在B中查找,將查到的數據用變量target接收let target = infoB.find((value, index, arr) => {return value.user_id === example.user_id; // 如果B中元素的user_id和example中的user_id相等,那么就返回該元素并結束find});

? ? ?在瀏覽器控制臺輸入target查看結果,符合需求。

總結

以上是生活随笔為你收集整理的ES6数组find实现嵌套数据匹配的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。