1 删除字符串中的 某个字符
let str=201901Q12Q
str=str.indexOf('Q') !== -1 ? str.split('Q').join('') : str
2 合并两个对象
let params ={ name: '制造业', color: '#5ACDFF' }
let newParams=Object.assign(params , {industryList: ' k ' })
// newParams = { name: '制造业', color: '#5ACDFF' ,industryList: ' k ' }
3 判断参数是否为空 包括 { },“”,[],undefined,null
export function isEmpty(obj) {
var empty = false;
if (obj === null || obj === undefined) { // null and undefined
empty = true;
} else if ((isArray(obj) || isString(obj)) && obj.length === 0) {
empty = true;
} else if (isObject(obj)) {
var hasProp = false;
for (let prop in obj) {
if (prop) {
hasProp = true;
break;
}
}
if (!hasProp) {
empty = true;
}
}
return empty;
}
函数返回true,参数就为空
4 过滤对象中的空字符串
export function paramFilter(params = {}) {
let result = {};
for(let k in params) {
if (params[k] !== '' && params[k] !== undefined && params[k] !== null) {
result[k] = params[k];
}
}
return result;
}
5 Array some() 方法
var ages = [3, 10, 18, 20];
let bool=age.some( a => a>18) ;
bool为true
检测数组中的元素是否符合某一个条件,符合就返回true,并停止循环
注意: some() 不会对空数组进行检测;
some() 不会改变原始数组。
6 用对象实现switch case( )功能方法
let quarterMap = {
'03': '1',
'06': '2',
'09': '3',
'12': '4'
};
let type=quarterMap ( '03' )
type=1
7 获取前n年或月
获取前6个月
moment().subtract(6, 'months').format('YYYYMM')
获取前1个月
moment().subtract(1, 'months').format('YYYYMM')
// 201906
8 给数组中的对象排序
let data: [{
name: '天府新区',
value: 34
}, {
name: '高新区',
value: 38
}, {
name: '武侯区',
value: 40
}, {
name: '青羊区',
value: 45
}, {
name: '龙泉驿区',
value: 47
}]
value值从大到小:
let newarr=data.sort((a,b)=> a.value - b.value )
9 数组找到特定元素的索引
findIndex() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。
没有元素符合的时候返回 -1
let index = data.findIndex( a=> a.value>39 )
console.log(index) // 2
10 把小数转化为百分数
let allNum = 571.33
let percent = (Math.round(num / allNum * 10000) / 100).toFixed(2) + '%';
// percent = 41.13%
Math.round(num / allNum * 10000) : 将小数四舍五入为整数,
.toFixed(2) : 小数保留两位
网友评论