JavaScript 对象操作函数库 - 详细使用文档
使用文档
mergeObjects(target, ...sources)
合并多个对象
参数
target:目标对象...sources:源对象
返回值
合并后的对象
示例
const obj1 = { a: 1 };
const obj2 = { b: 2 };
const obj3 = { c: { d: 3 } };
const merged = mergeObjects(obj1, obj2, obj3);
console.log(merged); // { a: 1, b: 2, c: { d: 3 } }
objToUrlParams(obj)
将对象转换为URL参数字符串
参数
obj:要转换的对象
返回值
转换后的URL参数字符串
示例
const obj = { a: 1, b: [2, 3], c: 'hello world' };
const params = objToUrlParams(obj);
console.log(params); // "a=1&b%5B%5D=2&b%5B%5D=3&c=hello%20world"
urlToObj(url)
将链接转换成对象
参数
url:需要转换的链接
返回值
返回包含链接参数的对象
示例
const url = "https://www.example.com?a=1&b=2&c=hello%20world";
const obj = urlToObj(url);
console.log(obj); // { a: "1", b: "2", c: "hello world" }
copyObject(obj, deepCopy = false)
对象拷贝函数,根据参数控制进行深拷贝或浅拷贝
参数
obj:要拷贝的对象deepCopy:是否进行深拷贝,默认为false表示浅拷贝
返回值
拷贝后的新对象
示例
const obj = { a: 1, b: { c: 2 } };
const shallowCopy = copyObject(obj);
const deepCopy = copyObject(obj, true);
obj.b.c = 3;
console.log(shallowCopy); // { a: 1, b: { c: 3 } }
console.log(deepCopy); // { a: 1, b: { c: 2 } }
getValueByKey(obj, key)
根据key获取对象的值
参数
obj:要获取值的对象key:属性键名
返回值
对应属性的值,如果obj中不存在该属性则返回undefined
示例
const obj = { a: { b: { c: 1 } } };
const value = getValueByKey(obj, 'a.b.c');
console.log(value); // 1
allPropertiesAreNotEmpty(obj)
检测整个对象是否没有空属性
参数
obj:要检测的对象
返回值
是否所有属性都不为空
示例
const obj1 = { a: 1, b: { c: ' ' } };
const obj2 = { a: 1, b: { c: 'hello' } };
console.log(allPropertiesAreNotEmpty(obj1)); // false
console.log(allPropertiesAreNotEmpty(obj2)); // true
arrayToJSON(arr)
将对象数组转换为JSON格式
参数
arr:要转换的对象数组
返回值
对象数组的JSON字符串
示例
const arr = [{ a: 1 }, { b: 2 }];
const json = arrayToJSON(arr);
console.log(json); // "[{"a":1},{"b":2}]"
deleteProperties(obj, keys)
删除对象中指定的属性,并返回新对象
参数
obj:要删除属性的对象keys:要删除的属性键名数组
返回值
删除对应属性后的新对象
示例
const obj = { a: 1, b: 2, c: 3 };
const newObj = deleteProperties(obj, ['a', 'c']);
console.log(newObj); // { b: 2 }
pickProperties(obj, keys)
从对象中取多个属性,并生成一个全新的对象
参数
obj:要取属性的对象keys:要取的属性键名数组
返回值
包含对应属性的新对象
示例
const obj = { a: 1, b: 2, c: 3 };
const newObj = pickProperties(obj, ['a', 'c']);
console.log(newObj); // { a: 1, c: 3 }
isObject(varible)
判断变量是否为对象类型
参数
varible:要检查的变量
返回值
是否为对象类型
示例
console.log(isObject({})); // true
console.log(isObject([])); // true
console.log(isObject(null)); // false
console.log(isObject('hello')); // false
总表格
| 函数名 | 描述 | 参数 | 返回值 | 示例 |
| --- | --- | --- | --- | --- |
| mergeObjects(target, ...sources) | 合并多个对象 | target:目标对象
...sources:源对象 | 合并后的对象 | 参考上文 |
| objToUrlParams(obj) | 将对象转换为URL参数字符串 | obj:要转换的对象 | 转换后的URL参数字符串 | 参考上文 |
| urlToObj(url) | 将链接转换成对象 | url:需要转换的链接 | 返回包含链接参数的对象 | 参考上文 |
| copyObject(obj, deepCopy = false) | 对象拷贝函数,根据参数控制进行深拷贝或浅拷贝 | obj:要拷贝的对象
deepCopy:是否进行深拷贝,默认为false表示浅拷贝 | 拷贝后的新对象 | 参考上文 |
| getValueByKey(obj, key) | 根据key获取对象的值 | obj:要获取值的对象
key:属性键名 | 对应属性的值,如果obj中不存在该属性则返回undefined | 参考上文 |
| allPropertiesAreNotEmpty(obj) | 检测整个对象是否没有空属性 | obj:要检测的对象 | 是否所有属性都不为空 | 参考上文 |
| arrayToJSON(arr) | 将对象数组转换为JSON格式 | arr:要转换的对象数组 | 对象数组的JSON字符串 | 参考上文 |
| deleteProperties(obj, keys) | 删除对象中指定的属性,并返回新对象 | obj:要删除属性的对象
keys:要删除的属性键名数组 | 删除对应属性后的新对象 | 参考上文 |
| pickProperties(obj, keys) | 从对象中取多个属性,并生成一个全新的对象 | obj:要取属性的对象
keys:要取的属性键名数组 | 包含对应属性的新对象 | 参考上文 |
| isObject(varible) | 判断变量是否为对象类型 | varible:要检查的变量 | 是否为对象类型 | 参考上文 |
原文地址: https://www.cveoy.top/t/topic/lKJu 著作权归作者所有。请勿转载和采集!