es6学习
es6学习网站:https://es6.ruanyifeng.com/#docs/object-methods
1.fill替换数组的某一块区域
例子1:数组中把3和4替换成8,
<script> let arr = [1, 2, 3, 4, 5] console.log(arr.fill(8, 2, 4)) </script>
2和4是索引(下标),从2开始到4结束
2.查找,filter和find
也可以用箭头函数来写
var ar = [1,2,3,5,1,6,7] let z = ar.filter(item=>item>2) console.log(z)// [3, 5, 6, 7]
...
<script> //过滤出3,filter满足条件所有值 let arr = [1, 2, 3, 4, 5] let z = arr.filter(function(item){ return item === 3 }) console.log(z) //[3] </script>
<script> //查找数字3,find满足条件第一个值 let arr = [1, 2, 3, 4, 5] let z = arr.find(function(item){ return item === 3 }) console.log(find) //3 </script>
<script> //查找下标findIndex let arr = [1, 2, 3, 4, 5] let z = arr.findIndex(function(item){ return item === 3 }) console.log(z) //2 </script>
3.es6函数传参
<script> //es6写法参数默认值,有默认值的往后靠,没有默认值的往前写 function f(x, y=7, z=42) { return x+y+z; //返回值 } //调用的时候,y取默认值,只想改z,y可以直接写undefind默认还是7 console.log(f(1,undefined,43)) //51 </script>
<script> //es6写法参数默认值,有默认值的往后靠,没有默认值的往前写 function f(x, y=7, z=x+y) { console.log(f.length);//取没有带默认值的参数个数 ,打印出来是1 return x*10+z; //返回值 } //调用的时候,y取默认值,只想改z,y可以直接写undefind默认还是7 console.log(f(1,undefined,2)) //12 </script>
数组参数求和
<!-- 参数求和 --> <script> //...代表多个元素 function sum(...nums) { let num = 0; nums.forEach(function (item) { num += item * 1 //乘以1代表字符串转换为数字 }) return num } console.log(sum(1, 2, 3)); //6 </script>
第一个参数乘以2,参数求和
<!-- 第一个参数乘以2,参数求和 --> <script> //把第一个参数放在base变量中,剩余放在nums里 function sum(base, ...nums) { let num = 0; nums.forEach(function (item) { num += item * 1 //乘以1代表字符串转换为数字 }) return base * 2 + num } console.log(sum(1, 2, 3)); //7 </script>
相反,知道具体参数情况下,求和方法
<!-- 知道具体参数情况下,求和方法 --> <script> function sum(x = 1, y = 2, z = 3) { return x + y + z; } let data = [4, 5, 6] console.log(sum(...data)); //15 </script>
ES6处理字符串逻辑
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>es6中字符串处理逻辑定义一个函数,返回想要的结果</title> </head> <body> <script> //第一种普通写法 // const yuanjia = 20 // const pifajia = 16 // const type="retail" // let showTxt = "" // if(type === "retail"){ // showTxt = "您此次的购买单价是:" + yuanjia // }else{ // showTxt = "您此次的购买批发价是" + pifajia // } // console.log(showTxt);//您此次的购买单价是:20 // 第二种写法定义一个函数,变量通过函数来返回的 // type是模板给的 function Price (strings,type){ let s1 = strings[0];//代表“您此次的” const yuanjia = 20 const pifajia = 16 let showTxt = "" if(type === "retail"){ showTxt = "购买单价是:" + yuanjia }else{ showTxt = "购买批发价是" + pifajia } return `${s1}${showTxt}` } let showTxt = Price`您此次的${'retail'}`//您此次的是Price函数的常量,${'retail'}是Price函数的变量 console.log(showTxt)//您此次的购买单价是:20 </script> </body> </html>