随机数:
function randomNumber(min,max) {
return Math.floor(Math.random()*(max-min+1)+min)
}
随机16进制颜色
function randomColor() {
return Math.random().toString(16).substr(-6);
}
删除数组中的某一项:
Array.prototype.remove = function (dx) {
if (this.indexOf(dx) > -1) {
this.splice(this.indexOf(dx), 1)
}
}
在附件的url中获取附件类型:
url.slice(url.lastIndexOf(".") + 1);
非对象数组去重:
1.Array.from(new Set(array));
2.let r = array.filter((item,index,arrays) => {
return arrays.indexOf(item) === index;
});
对象数组去重:
var obj = {};
arr = arr.reduce(function(item, next) {
obj[next.key] ? '' : obj[next.key] = true && item.push(next);
return item;
}, []);
获取对象所有的属性名并按照asc表顺序返回:
Object.keys();
获取对象所有的属性名对应的值并按照asc表顺序返回:
Object.values();
数组乱序:
function Random(min,max) {
return
}
changeRandom(list) {
let arr=list.slice()
for(let i=0;i<arr.length;i++) {
let k=Math.floor(Math.random()*(i+1)
let t=arr[i]
arr[i]=arr[k]
arr[k]=t
}
return arr
}
对象数组中将旧版中的某一属性赋值给新版(这个属性是通过操作获取的,并不是接口直接返回):
在旧版中将有操作后获取值的键值对存在一个新对象中,然后按照条件将新版中的键值对重新赋值。
判断对象中是否存在某个属性,如果有则将对象值返回,否则返回"";
export function JudpeAttrIsExis(arr, obj) {
let attr = "";
for (let i = 0; i < arr.length; i++) {
if(obj[arr[i]]) {
attr = arr[i];
break;
}
}
return obj[attr];
};
eg: let url = JudpeAttrIsExis(["fileUrl","fileurl","file_url","url"],ele);
筛选素数:
function get_primes(arr) {
var i;
return arr.filter(function (element) {
var flag = true;
if (element < 2) {
flag = false;
} else {
for (var i = 2; i < element; i++) {
if (element % i == 0) {
flag = false;
break;
}
}
}
return flag;
})
}
根据菜单名称判断菜单树中是否存在此菜单
handleMenuIsExis = (data, menuName) => {
let flag = false;
for (let i = 0; i < data.length; i++) {
if (data[i].menuName == menuName) {
flag = true;
break;
} else {
flag = data[i].childList ? this.handleMenuIsExis(data[i].childList, menuName) : false;
if (flag) {
break;
}
}
}
return flag;
}