ES6的进阶总结

自己想总结一下,方便自己梳理也方便他人学习。废话不多说,直接上干货

数组方法篇

arr.map()

let array = [1, 2, 3, 4];
let temp = array.map((item, index, array) => { 
//item代表每一个数组元素,index代表元素索引,array代表当前元素属于的数组对象(其中index和array是可选参数)下同
  return item * 10;

});
console.log(temp);  //  [10, 20, 30, 40];
console.log(array);  // [1, 2, 3, 4]
// map 遍历数组, 会返回一个新数组, 不会改变原来数组里的内容
let temp2 = array.map(String);  // 把数组里的元素都转成字符串

arr.filter()

let array = [1, 2, 3, 4];
let temp = array.filter((item, index, array) => {
  return item >  3;
});
console.log(temp);  // [4]
console.log(array);  // [1, 2, 3, 4]
// filter 会过滤掉数组中不满足条件的元素, 把满足条件的元素放到一个新数组中, 不改变原数组

arr.reduce()

let array = [1, 2, 3, 4];
let temp = array.reduce((x, y) => {
  return x + y;
});
console.log(temp);  // 10
console.log(array);  // [1, 2, 3, 4]
// x 是上一次计算过的值, 第一次循环的时候是数组中的第1个元素
// y 是数组中的每个元素, 第一次循环的时候是数组的第2个元素

arr.forEach()

let array = [1,2,3,4];
array.forEach((item, index, array) => {
  console.log(item);
});
//forEach会遍历数组, 没有返回值, 不允许在循环体内写return, 不会改变原来数组的内容.

arr.every()

let array = [1, 2, 3, 4];
let temp = array.every((item, index, array) => {
  return item > 2;
});
console.log(temp);    // false;
// every遍历数组, 每一项都是true, 则返回true, 只要有一个是false, 就返回false

arr.some()

let array = [1, 2, 3, 4];
let tmep = array.some((item, index, array) => {
  return item > 1;
});
console.log(temp);  // true
// 遍历数组的每一项, 有一个返回true, 就停止循环

arr.indexOf()

let array= ["Banana", "Orange", "Apple", "Mango"];
let tmep = fruits.indexOf("Apple");
console.log(temp);  // 为2
//当数组中存在指定元素则返回改元素的索引,如果在数组中没找到指定元素则返回 -1

字符串篇

includes(), startsWith(), endsWith()三个方法

let str = 'abc'
str.includes('a') //是否包含a
str.startsWith('a') //字符串开始位置是否包含a
str.endsWith('c') //字符串结束位置是否包含a
/*startsWith()的应用场景:通常用来判断http、https(安全)类的网址等等
endsWith()的应用场景:通常用来判断文件的格式txt、jpg等等、固定的地址@qq.com、@163.com等等*/

模板字符串

let a = 'a'
let b = 'b'
console.log(`${a}${b}c`) // console.log(`${a+b}c`)也ok
 //把变量用${} 包起来就行了。简单多了。没有那么多单双引,没有加号

##箭头函数

// 无参
var func1 = function() {}
var func1 = () => {}
 
// 单个参数
var func2 = function(a) {}
var func2 = a => {}
 
// 多个参数
var func3 = function(a, b) {}
var func3 = (a, b) => {}
 
// 可变参数
var func4 = function(a, b, ...args) {}
var func4 = (a, b, ...args) => {}
 

点点点运算符(…args)

//rest参数且只能是最后部分形参参数
    fun(...values) => {
        console.log(values);
        values.forEach(f(item, index) => {
            console.log(item, index);
        })
    }
    fun(1,2,3);
// 扩展运算符
  let arr = [1,2,3];
  let newarr = [0,...arr,4];
  newarr.push(...arr1);

总结: ES6给我们提供了许多的新语法和代码特性来提高javascript的体验,对于JAVA语言来说,javascript也越来越向其的优秀所靠近,未来javascript还有很多待提高的地方,语言也会越来越完善!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值