const deps = { '采购部':[1,2,3], '人事部':[5,8,12], '行政部':[5,14,79], '运输部':[3,64,105], } let member = []; for (let item in deps){ const value = deps[item]; if(Array.isArray(value)){ member = [...member,...value] } } member = [...newSet(member)]
获取对象的全部属性用Object.values(),数组扁平化用flat
1 2 3 4 5 6 7
const deps = { '采购部':[1,2,3], '人事部':[5,8,12], '行政部':[5,14,79], '运输部':[3,64,105], } let member = Object.values(deps).flat(Infinity);
其中使用Infinity作为flat的参数,使得无需知道被扁平化的数组的维度。
获取对象属性值
1
const name = obj && obj.name;
es6的可选链操作符
1
const name = obj?.name;
添加对象属性
当给对象添加属性石,如果属性名是动态变化的,该怎么处理?
1 2 3 4
let obj = {}; let index = 1; let key = `topic${index}`; obj[key] = '话题内容';
不需要额外创建一个变量,es6中的对象属性名可以用表达式
1 2 3 4
let obj = {}; let index = 1; obj[`topic${index}`] = '话题内容';
关于输入框非空的判断
在处理输入框相关业务时,往往会判断输入框未输入值的场景
1 2 3
if(value !== null && value !== undefined && value !== ''){ //... }