mirror of
https://github.com/Ssl1S/json-schema-editor-vue.git
synced 2025-12-30 01:37:55 +08:00
46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
export function clearAttr(obj) {
|
|
for(let key in obj){
|
|
delete obj[key]
|
|
}
|
|
}
|
|
/**
|
|
* 快速拷贝两个对象的属性值
|
|
* @param {*} source
|
|
* @param {*} target
|
|
*/
|
|
export function copyAttr(source, target){
|
|
Object.keys(target).forEach(key=>{target[key]=source[key]})
|
|
}
|
|
|
|
export function isNull(ele){
|
|
if(typeof ele==='undefined'){
|
|
return true;
|
|
}else if(ele===null){
|
|
return true;
|
|
}else if(ele===''){
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
export function renamePropertyAndKeepKeyPrecedence(_this, obj, [oldKey, newKey]) {
|
|
const descriptors = Object.getOwnPropertyDescriptors(obj)
|
|
if (Object.prototype.hasOwnProperty.call(descriptors, oldKey)) {
|
|
Object.entries(descriptors)
|
|
.reduce((target, [key, descriptor]) => {
|
|
if(key === '__ob__') return target
|
|
// Reflect.deleteProperty(target, key)
|
|
_this.$delete(target, key)
|
|
if (key === oldKey) {
|
|
key = newKey
|
|
}
|
|
// // Reflect.defineProperty(target, key, descriptor)
|
|
_this.$set(target, key, descriptor.get())
|
|
return target;
|
|
}, obj)
|
|
}
|
|
return obj
|
|
}
|
|
/**过滤数组元素 */
|
|
export function arrayDifference(basicArr, arr) {
|
|
return arr.filter(item => !basicArr.includes(item));
|
|
} |