1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| 1.可设置函数默认值 若调用方法没有传值,则使用设置的默认值 function animal (name, type = 'cat') {} 2.rest参数,用于获取多余参数,将变量的多余参数防暑数组中,rest 参数之后不能再有其他参数 function add (...values) { values // [2,5,3] } add(2,5,3) 3.name属性 function foo() {} foo.name // 'foo' 4.箭头函数,及箭头函数的this对象绑定 5.尾递归 6.复制数组 let a =[1,2] let b = [...a] 7.合并数组 [...arr1, ...arr2, ...arr3] 8.拆分数组 [a, ...rest] = arr 9.[...'hello'] // ['h','e','l','l','o'] 10.类似数组对象转数组(含 set,Map) let oj = {"0":"a","1":"b","2":"c",length:3} var arr = Array.from(oj) // ['a','b','c'] Array.from([1, 2, 3], (x) => x * x) // [1,4,9] 11.copyWithin [1, 2, 3, 4, 5].copyWithin(0, 3) // [4,5,3,4,5] 12.find // findIndex [1, 4, -5, 10].find((n, index, arr) => n < 0) // -5 返回符合要求的第一个数值 [1, 4, -5, 10].findIndex((n, index, arr) => n < 0) // 2 返回符合要求的第一个数值的数组编号 13.填充数组 fill new Arry(3).fill(7) => [7,7,7] // 填充全部 ['a','b','c'].fill(7,1,2) => ['a',7,'c'] // 填充指定区间 14.entries(),keys() 和 values() keys() 键名 values() 键值 entries() 键值对 15.includes() | indexOf() 16. flat() | flatMap() [1,2,[3,4]].flat() // [1,2,3,4] flat只拉平一层 [1,2,[3,[4,5]]].flat() // [1,2,3,[4,5]] 要全部拉平则需要 [1,2,[3,[4,5]]].flat(Infinity) // [1,2,3,4,5] flatMap() 方法对原数组的每个成员执行一个函数 [2,3,4].flatMap((x)=> [x,x*2]) // [2,4,3,6,4,8]
|