自己想总结一下,方便自己梳理也方便他人学习。废话不多说,直接上干货
数组方法篇
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还有很多待提高的地方,语言也会越来越完善!