使用文档

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:要检查的变量 | 是否为对象类型 | 参考上文 |

JavaScript 对象操作函数库 - 详细使用文档

原文地址: https://www.cveoy.top/t/topic/lKJu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录