如何匹配第一个数组的数据和 return 相同数据
how do I match the data and return same data of first array
我有两个数组
arr1 =[{name:'Net Banking', id:'NetBanking'},{name:'Debit Card', id:'DebitCard'},{name:'Credit Card', id:'CreditCard'}]
和
arr2=['DebitCard','NetBanking']
并且我想要从 arr1
开始的预期结果
arr1=[{name:'Debit Card', id:'DebitCard'}, {name:'Net Banking', id:'NetBanking'}]
目前我正在使用-
arr1.filter(data=>arr2.includes(data.id))
我得到 return 作为
arr1 =[{name:'Net Banking', id:'NetBanking'},{name:'Debit Card', id:'DebitCard'}]
表示将 arr2 的元素与 arr1 匹配,return 表示将 arr1 与 arr2 的相同顺序匹配
或者如何根据 arr1 的 arr2 更改索引
您可以使用 Array.map() along with Array.find() 获得所需的输入。
工作演示:
const arr1 =[{name:'Net Banking', id:'NetBanking'},{name:'Debit Card', id:'DebitCard'},{name:'Credit Card', id:'CreditCard'}];
const arr2=['DebitCard','NetBanking'];
const resArray = arr2.map((item) => arr1.find((obj) => obj.id === item));
console.log(resArray);
您可以遍历 arr2
并为每个项目在数组 arr1
中找到具有相同 id
的相关对象
你可以信赖
let arr1 =[{name:'Net Banking', id:'NetBanking'},{name:'Debit Card', id:'DebitCard'},{name:'Credit Card', id:'CreditCard'}];
let arr2=['DebitCard','NetBanking'];
const result = arr2.reduce((accumulator, current) => {
/*
* For the current item of the loop search for item with
* object.id === current
*/
return accumulator.concat(arr1.find(item => item.id === current));
},[]);
console.log(result);
我有两个数组
arr1 =[{name:'Net Banking', id:'NetBanking'},{name:'Debit Card', id:'DebitCard'},{name:'Credit Card', id:'CreditCard'}]
和
arr2=['DebitCard','NetBanking']
并且我想要从 arr1
开始的预期结果arr1=[{name:'Debit Card', id:'DebitCard'}, {name:'Net Banking', id:'NetBanking'}]
目前我正在使用-
arr1.filter(data=>arr2.includes(data.id))
我得到 return 作为
arr1 =[{name:'Net Banking', id:'NetBanking'},{name:'Debit Card', id:'DebitCard'}]
表示将 arr2 的元素与 arr1 匹配,return 表示将 arr1 与 arr2 的相同顺序匹配
或者如何根据 arr1 的 arr2 更改索引
您可以使用 Array.map() along with Array.find() 获得所需的输入。
工作演示:
const arr1 =[{name:'Net Banking', id:'NetBanking'},{name:'Debit Card', id:'DebitCard'},{name:'Credit Card', id:'CreditCard'}];
const arr2=['DebitCard','NetBanking'];
const resArray = arr2.map((item) => arr1.find((obj) => obj.id === item));
console.log(resArray);
您可以遍历 arr2
并为每个项目在数组 arr1
id
的相关对象
你可以信赖
let arr1 =[{name:'Net Banking', id:'NetBanking'},{name:'Debit Card', id:'DebitCard'},{name:'Credit Card', id:'CreditCard'}];
let arr2=['DebitCard','NetBanking'];
const result = arr2.reduce((accumulator, current) => {
/*
* For the current item of the loop search for item with
* object.id === current
*/
return accumulator.concat(arr1.find(item => item.id === current));
},[]);
console.log(result);