Skip to content

Commit 6201631

Browse files
authored
Merge pull request #14 from coder-fang/develop
feat(core): object mergeObject
2 parents 12ab15a + f3f5491 commit 6201631

File tree

6 files changed

+1084
-1050
lines changed

6 files changed

+1084
-1050
lines changed

packages/.vitepress/cache/deps/_metadata.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
2-
"hash": "abe73b16",
3-
"browserHash": "6ad657e3",
2+
"hash": "3e39ebdb",
3+
"browserHash": "1ccd550d",
44
"optimized": {
55
"vue": {
66
"src": "../../../../node_modules/.pnpm/[email protected]/node_modules/vue/dist/vue.runtime.esm-bundler.js",
77
"file": "vue.js",
8-
"fileHash": "40d3f75f",
8+
"fileHash": "31a5a212",
99
"needsInterop": false
1010
}
1111
},

packages/core/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
export * from './getDevice';
2+
export * from './objects';

packages/core/objects/index.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* 判断是否为对象
3+
* @param {any} data
4+
* @returns {boolean}
5+
*/
6+
export function isObject(data: any): boolean {
7+
return Object.prototype.toString.call(data) === '[object Object]';
8+
}
9+
/**
10+
* 合并对象
11+
* @param objs
12+
* @returns {object}
13+
*/
14+
export function mergeObject(...objs): object {
15+
let result = {};
16+
objs.forEach((obj) => {
17+
Object.keys(obj).forEach((key) => {
18+
let value = obj[key];
19+
if (!result.hasOwnProperty(key)) {
20+
// 说明result中没有该属性
21+
result[key] = result;
22+
} else {
23+
// 说明result已经存在该属性,那么就把同名属性的值合并为一个数组
24+
result[key] = [].concat(result[key], value);
25+
}
26+
});
27+
});
28+
return result;
29+
}

packages/core/string/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const randomString = () => {};

0 commit comments

Comments
 (0)