| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- // 集合
- interface ObjType {
- [key: string]: any;
- }
- /**
- * 多个对象合并相同的属性
- * @param a 合并之后的对象
- * @param b 把相同的属性的value 值赋值给a对象
- */
- export function mergeObj(a: ObjType, ...rest: ObjType[]): void {
- Object.keys(a).forEach((key) => {
- rest.forEach((param) => {
- if (Reflect.has(param, key)) {
- a[key] = param[key];
- }
- });
- });
- }
- /**
- * 合并两个对象
- * @param a
- * @param b
- * @param callBack
- */
- export function mergeTwoObj(a: any, b: any, callBack?: Function) {
- const obj: ObjType = {};
- Object.keys(a).forEach((el) => {
- const key = el.toLocaleLowerCase();
- if (Reflect.has(b, key)) {
- obj[el] = b[key];
- } else {
- console.warn(`为找到对应的key:${key}`);
- callBack && callBack(el)
- }
- });
- Object.assign(a, obj);
- }
- /**
- * 对象转二进制数组
- * @param data
- * @returns
- */
- export function objectToUint8Array(data: object) {
- const rawData: string = JSON.stringify(data);
- const outputArray = new Uint8Array(rawData.length);
- for (var i = 0; i < rawData.length; ++i) {
- outputArray[i] = rawData.charCodeAt(i);
- }
- return outputArray;
- }
- // export function objectToUint8Array(data: object): Uint8Array {
- // const encode = encodeURI(JSON.stringify(data));// 对字符串进行编码
- // debugger
- // const base64String = btoa(encode);// 对编码的字符串转化base64
- // const padding = '='.repeat((4 - base64String.length % 4) % 4);
- // // const base64 = (base64String + padding).replace(/\-/g, '+').replace(/_/g, '/');
- // // const base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/');
- // const base64 = (base64String + padding).replace(/\-/g, '+').replace(/_/g, '/');
- // const rawData = window.atob(base64);
- // const outputArray = new Uint8Array(rawData.length);
- // for (let i = 0; i < rawData.length; ++i) {
- // outputArray[i] = rawData.charCodeAt(i);
- // }
- // return outputArray;
- // }
|