window.onload = function () { // ---------------------------------------数组解构----------------- let [x, y, z] = [true, [1, 2, 3], { id: 1 }]; //等价 // x=true; // y=[1,2,3]; // z={id:1}; let arr = [10, 20]; if (arr[0]) { let x2 = arr[0] } else { let x2 = 1; } //简写 let x2 = arr[0] || 1; //es6 let [x3 = 1, x4 = 1] = arr; let [xx3 = 1, xxx4 = 1] = [undefined, null]; //xxx3=1,xxx4=null undefined默认值生效 //对象解构 let obj1 = { id: 999, name: 'kk', data: { name: 'bb', title: 'tt' }, res: { data: { act: '888act', func: '999func' } } } // let id = obj1.id; // let act = obj1.res.data.act; //等价于 ES6 let { id: _id = 1, act: _act = 'actdefault' } = obj1; //:改的别名 = 给的默认值 es6更方便 console.log(obj1); console.log(_id); //-------------------------------------------------------------------------------------------------------- let arrk = [1, 2, 3, 4, 5, 6, 7, 1, 2, 5, 6, 7, 9, 10]; const arrs = new Set(); arrs.add(1).add(2).add(3).add(2); console.log(arrs); // {1,2,3} arrs.add(1).add(2).add(3).add('2'); console.log(arrs); // {1,2,3,'2'} 进行的是类型匹配 const arr3 = new Set(); arr3.add(arrk); console.log(arr3); //这样没去重,相当于把arrk 作为一个对象添加进去了 var arrs4 = new Set(arrk); console.log(arrs4); //去重后的arrk 但不是数组了 arrk.forEach((i) => { arrs.add(i); }) console.log(arrs); let obj3 = new Object(); obj3.id = 1; obj3['msg'] = 'no data'; //这添加的是属性 // obj3[msg] = 'nodata'; //msg 这只是一个变量 Array.from(arrs4); //{}对象转数组 [...arrs4]; //{}对象转数组 // Array.from(arrs4((i) => { // i > 5 // })); console.log("//////////////////") console.log(Array.from(new Set(arrk.filter(i => i > 5)))) //去重排序 const arr6 = [{ value: 30 }, { value: 10 }, { value: 3 }, { value: 60 }, { value: 30 }, { value: 30 }, { value: 30 }, { value: 30 },] //去掉含3的 let kk = arr6.filter(i => (i.value / 3 == 0)); console.log([...(new Set(arr6.filter(i => ((i.value / 3) != 0))))]) }
标签:ES6,console,log,value,add,let,id From: https://www.cnblogs.com/soulice/p/16707244.html