z-utils-ts
Version:
使用TypeScript编写的工具函数库
24 lines (21 loc) • 673 B
text/typescript
interface IJoinedData {
[key: string]: any;
}
export function associativeArray(arr1: IJoinedData[], arr2: IJoinedData[], key1: string, key2: string, prefixKey = '$'): IJoinedData[] {
let arr2Map: IJoinedData = {};
for (let i = 0; i < arr2.length; i++) {
arr2Map[arr2[i][key2]] = arr2[i];
}
let result = arr1.map((item) => {
let newItem = item;
let user = arr2Map[item[key1]];
if(user) {
for(let key in user) {
if(key === key2) continue;
newItem[prefixKey + key] = user[key];
}
}
return newItem;
});
return result;
}