一 循环(数组 ,集合)
const arr = ['red', 'green', 'blue']; arr.forEach( (element, index)=> { console.log(element); // red green blue console.log(index); // 0 1 2 });
//Foreach 循环处理item的时候, 只处理某字段,其他字段不用管,还是在!
二 Map--------处理集合列表,里面的 具体item
三 Filter -----------集合条件过滤
四 slice----------------截取集合 ,前闭后开!
五 concat----------------合并数组
六 splice-----数组截取 ,替换
七 Shift/unshift ----附加和移除 ,数组最前面的元素
八 push / pop -----附加和移除 ,数组 最后面的 元素
九 set ------数组添加唯一的值
let set1 = new Set()set1.add(1)set1.add(2)set1.add(3)console.log('added:', set1)
added: Set { 1, 2, 3 }
let set1 = new Set()set1.add(1)set1.add(2)set1.add(3)set1.delete(1)console.log('deleted:', set1)
deleted: Set { 2, 3 }
let set1 = new Set()set1.add(1)set1.add(2)set1.add(3)set1.delete(1)console.log('has(1):', set1.has(1))console.log('has(2):', set1.has(2))
has(1): falsehas(2): true
let set1 = new Set()set1.add(1)set1.add(2)set1.add(3)set1.clear()console.log('cleared:', set1)
cleared: Set {}
let set2 = new Set([4,5,6])console.log('array to set 1:', set2)let set3 = new Set(new Array(7, 8, 9))console.log('array to set 2:', set3)
array to set 2: Set { 4, 5, 6 }array to set 3: Set { 7, 8, 9 }
let set4 = new Set([4, 5, 6])console.log('set to array 1:', [...set4])console.log('set to array 2:', Array.from(set4))
set to array 1: [ 4, 5, 6 ]set to array 2: [ 4, 5, 6 ]
十 解构函数 (比较方便处理模块化的逻辑)
if (Object.prototype.toString.call(data) === '[object Array]') {
if (!data.length) {
// 成功无数据
resolve({ errorCode: 0, data: { success: true } });
return;
}
}
4 空对象---{} es5就支持
if (Object.prototype.toString.call(data) === '[object Object]') {
if (JSON.stringify(data) === JSON.stringify({})) {
// 成功无数据
resolve({ errorCode: 0, data: { success: true } });
return;
}
}
Object.assign(target,…sources)
当target和sources对象中有相同的key时,在target对象中的值会被后面source对象的值覆盖。target对象自身会被修改
var o1 = { a: 1 };
var o2 = { b: 2 };var o3 = { c: 3 };var obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }console.log(o1); // { a: 1, b: 2, c: 3 },
如果想要避免o1被改变,需要这样写:
var obj = Object.assign({},o1,o2,o3);//给一个空对象作为target,这样改变的是空对象
console.log(obj);// { a: 1, b: 2, c: 3 }console.log(o1); // { a: 1}String(currentName).search(item) !== -1