判断真假
/**
* 判断真假,排除0为false的情况
* @param {object} value
*/
export const isFalsy = (value) => (value === 0 ? false : !value);
对象去空
应用场景:请求接口时去掉无效参数
/**
* 对象去空
* @param {object} object
*/
// 在一个函数里,改变传入的对象本身是不好的
export const cleanObject = (object) => {
const result = { ...object };
Object.keys(result).forEach((key) => {
const value = result[key];
if (isFalsy(value)) {
delete result[key];
}
});
return result;
};
去除对象数组中属性值重复存在的元素
/**
* 去除对象数组中属性值重复存在的元素,只保留第一次出现的数据,eg: item.mobile重复
* @param {originList} object array
*/
const uniqueDevice = (originList) => {
const obj: {
[key: string]: string
} = {};
const newArr = originList.reduce((prev, cur) => {
obj[cur.mobile] ? '' : obj[cur.mobile] = true && prev.push(cur);
return prev
}, []);
return newArr;
};