簡體   English   中英

獲取符合條件的對象數組中的第一個對象

[英]Get the first object in an array of objects who matches the condition

我有這個對象數組

[{},{"IGG":"\n1000400078","Date effet":"16/04/2007","Statut déontologie":"A","Version charte":"1","N°Charte":"0","Nom charte":"Non exposé","Statut Charte":"A","Date envoi charte":"","Dat 1er relance":"","Date 2eme relance":"","Date 3 eme relance":"","Date de validation":""},{"IGG":""},{"IGG":"\n1000400103","Date effet":"23/05/2016","Statut déontologie":"A","Version charte":"2","N°Charte":"1","Nom charte":"Régime Général","Statut Charte":"A","Date envoi charte":"27/09/2010","Dat 1er relance":"07/10/2010","Date 2eme relance":"18/10/2010","Date 3 eme relance":"28/10/2010","Date de validation":"20/11/2015"},{},{"IGG":"\n1000400381","Date effet":"04/09/2019","Statut déontologie":"A","Version charte":"2","N°Charte":"3","Nom charte":"Initié Société Générale","Statut Charte":"A","Date envoi charte":"16/09/2019","Dat 1er relance":"26/09/2019","Date 2eme relance":"","Date 3 eme relance":"","Date de validation":"27/09/2019"},{},{"IGG":"\n1000401040","Date effet":"01/09/2015","Statut déontologie":"A","Version charte":"2","N°Charte":"5","Nom charte":"Régime Général & Initié Société Générale","Statut Charte":"A","Date envoi charte":"03/09/2015","Dat 1er relance":"14/09/2015","Date 2eme relance":"","Date 3 eme relance":"","Date de validation":"18/09/2015"},{},{"IGG":"\n1007829487","Date effet":"03/12/2019","Statut déontologie":"A","Version charte":"1","N°Charte":"8","Nom charte":"Conseiller Gestion Patrimoine","Statut Charte":"A","Date envoi charte":"13/12/2019","Dat 1er relance":"23/12/2019","Date 2eme relance":"02/01/2020","Date 3 eme relance":"13/01/2020","Date de validation":"14/01/2020"},{},{"IGG":"\n"}]

我想獲取具有 IGG 值的對象,包括 URL 查詢參數中的 IGG

例如,如果我訪問 localhost:8000/igg?igg=1000400078,我需要獲取具有“IGG”的對象:\\n1000400078”,所以這個對象:

{"IGG":"\n1000400078","Date effet":"16/04/2007","Statut déontologie":"A","Version charte":"1","N°Charte":"0","Nom charte":"Non exposé","Statut Charte":"A","Date envoi charte":"","Dat 1er relance":"","Date 2eme relance":"","Date 3 eme relance":"","Date de validation":""}

所以我試過:

json.find(item => i.includes(item.IGG);

但它返回

[{"IGG":""}]

有人可以幫我嗎

您必須與瀏覽器中的 url 進行比較,因此請使用location

const data = [{}, {"IGG":"\n1000400078","Date effet":"16/04/2007","Statut déontologie":"A","Version charte":"1","N°Charte":"0","Nom charte":"Non exposé","Statut Charte":"A","Date envoi charte":"","Dat 1er relance":"","Date 2eme relance":"","Date 3 eme relance":"","Date de validation":""},{"IGG":""},{"IGG":"\n1000400103","Date effet":"23/05/2016","Statut déontologie":"A","Version charte":"2","N°Charte":"1","Nom charte":"Régime Général","Statut Charte":"A","Date envoi charte":"27/09/2010","Dat 1er relance":"07/10/2010","Date 2eme relance":"18/10/2010","Date 3 eme relance":"28/10/2010","Date de validation":"20/11/2015"},{},{"IGG":"\n1000400381","Date effet":"04/09/2019","Statut déontologie":"A","Version charte":"2","N°Charte":"3","Nom charte":"Initié Société Générale","Statut Charte":"A","Date envoi charte":"16/09/2019","Dat 1er relance":"26/09/2019","Date 2eme relance":"","Date 3 eme relance":"","Date de validation":"27/09/2019"},{},{"IGG":"\n1000401040","Date effet":"01/09/2015","Statut déontologie":"A","Version charte":"2","N°Charte":"5","Nom charte":"Régime Général & Initié Société Générale","Statut Charte":"A","Date envoi charte":"03/09/2015","Dat 1er relance":"14/09/2015","Date 2eme relance":"","Date 3 eme relance":"","Date de validation":"18/09/2015"},{},{"IGG":"\n1007829487","Date effet":"03/12/2019","Statut déontologie":"A","Version charte":"1","N°Charte":"8","Nom charte":"Conseiller Gestion Patrimoine","Statut Charte":"A","Date envoi charte":"13/12/2019","Dat 1er relance":"23/12/2019","Date 2eme relance":"02/01/2020","Date 3 eme relance":"13/01/2020","Date de validation":"14/01/2020"},{},{"IGG":"\n"}]

const result = data.find(item => item.IGG.replace(/[^a-zA-Z ]/g, '') === location.search.split('igg=')[1]);

console.log(result);

您的includes測試是倒退的,它應該是item.IGG.includes(i)

您還需要檢查item.IGG存在,否則嘗試在undefined上調用.includes()時會出錯。

 const json = [{},{"IGG":"\\n1000400078","Date effet":"16/04/2007","Statut déontologie":"A","Version charte":"1","N°Charte":"0","Nom charte":"Non exposé","Statut Charte":"A","Date envoi charte":"","Dat 1er relance":"","Date 2eme relance":"","Date 3 eme relance":"","Date de validation":""},{"IGG":""},{"IGG":"\\n1000400103","Date effet":"23/05/2016","Statut déontologie":"A","Version charte":"2","N°Charte":"1","Nom charte":"Régime Général","Statut Charte":"A","Date envoi charte":"27/09/2010","Dat 1er relance":"07/10/2010","Date 2eme relance":"18/10/2010","Date 3 eme relance":"28/10/2010","Date de validation":"20/11/2015"},{},{"IGG":"\\n1000400381","Date effet":"04/09/2019","Statut déontologie":"A","Version charte":"2","N°Charte":"3","Nom charte":"Initié Société Générale","Statut Charte":"A","Date envoi charte":"16/09/2019","Dat 1er relance":"26/09/2019","Date 2eme relance":"","Date 3 eme relance":"","Date de validation":"27/09/2019"},{},{"IGG":"\\n1000401040","Date effet":"01/09/2015","Statut déontologie":"A","Version charte":"2","N°Charte":"5","Nom charte":"Régime Général & Initié Société Générale","Statut Charte":"A","Date envoi charte":"03/09/2015","Dat 1er relance":"14/09/2015","Date 2eme relance":"","Date 3 eme relance":"","Date de validation":"18/09/2015"},{},{"IGG":"\\n1007829487","Date effet":"03/12/2019","Statut déontologie":"A","Version charte":"1","N°Charte":"8","Nom charte":"Conseiller Gestion Patrimoine","Statut Charte":"A","Date envoi charte":"13/12/2019","Dat 1er relance":"23/12/2019","Date 2eme relance":"02/01/2020","Date 3 eme relance":"13/01/2020","Date de validation":"14/01/2020"},{},{"IGG":"\\n"}] let i = "1000400078"; console.log(json.find(item => item.IGG && item.IGG.includes(i)));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM