UNPKG

z-utils-ts

Version:

使用TypeScript编写的工具函数库

35 lines (33 loc) 938 B
// 用户信息数组 var users = [ { id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' } ]; // 订单信息数组 var orders = [ { userId: 1, product: 'Laptop' }, { userId: 1, product: 'Mouse' }, { userId: 2, product: 'Keyboard' }, { userId: 3, product: 'Monitor' } ]; function associativeArray(arr1, arr2, key1, key2, prefixKey = '$') { let arr2Map = {}; 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; } var data = associativeArray(users, orders, 'id', 'userId'); console.log("🚀 ~ data:", data);