对象类 - ikObject
针对对象操作的一些方法
引入方式
import { ikObject } from 'iking-utils'
深度合并 - deepMerge
合并两个对象的字段返回一个最终的对象 返回{object} -合并的对象
script
deepMerge(src: any = {}, target: any = {}): T
参数说明
参数值 | 类型 | 参数值说明 |
---|---|---|
src | any | 源对象 |
target | any | 与源合并的目标对象 |
示例
vue
const formData = ikObject.deepMerge(userForm.value, { name: '2134324' })
<!-- console.log(formData)
{
adminUser: false,
avatar: "",
birthday: "",
deptIds: [],
email: "",
locked: false,
name: "2134324",
nickname: "",
phone: "",
postIds: [],
roleIds: [],
sex: "MALE",
username: "",
}
-->
将对象作为参数添加到URL - setObjToUrlParams
接收一个基URL和一个对象作为参数,并将对象作为参数添加到URL中。返回{string} -修改的URL与添加的参数。
script
setObjToUrlParams(baseUrl: string, obj: any): string
参数说明
参数值 | 类型 | 参数值说明 |
---|---|---|
baseUrl | String | 要添加参数的基础URL。 |
obj | any | 包含将作为参数添加到URL的键值对的对象。 |
示例
vue
const url =
ikObject.setObjToUrlParams('https://www.baidu.com', {
name: 'xianyu',
id: 'd342qwwe233244'
})
<!-- console.log(url)
https://www.baidu.com?name=xianyu&id=d342qwwe233244
-->
打开一个新窗口 - openWindow
打开一个带有指定URL和选项的新窗口。
script
openWindow(url: string, opt?:
{
target?: TargetContext | string;
noopener?: boolean;
noreferrer?: boolean
},)
参数说明
参数值 | 类型 | 参数值说明 |
---|---|---|
url | String | 在新窗口中打开的url。 |
opt | any | 自定义窗口行为的可选参数。 |
opt.target | TargetContext | 新窗口的目标上下文或名称。默认为'__blank'。 |
opt.noopener | boolean | 指定新窗口是否应该具有'noopener'属性。默认为true。 |
opt.noreferrer | boolean | 指定新窗口是否应该具有'noreferrer'属性。默认为true。 |
示例
vue
ikObject.openWindow('https://www.baidu.com')
对象添加对象 - forofObj | forof
为给定对象添加一个迭代器,以启用“for…”“循环。返回{any} -添加迭代器的修改对象。如果参数不是对象则抛出错误。
script
forofObj(obj: Object): any
参数说明
参数值 | 类型 | 参数值说明 |
---|---|---|
obj | Object | 要修改的对象。 |
示例
vue
const iterableObj = ikObject.forofObj({ a: 1, b: 2, c: 3 })
for (const value of iterableObj)
<!-- console.log(value)
['a', 1]
['b', 2]
['c', 3]
-->