变量的扩展:let和const
变量的解构赋值分为数组的解构和对象的解构
数组的常见结构 1.完全解构 2.不完全解构3. 解构失败 4.解构变量默认值 5.解构的缺省
/1.完全解构(变量的个数与数据个数一致)
// let [a, b] = [10, 20];
// console.log(a, b);
//2.不完全解构(变量的个数少于数据的个数)
// let [a] = [10, 20];
// console.log(a);
//3.解构失败(变量的个数多于数据的个数)
let [a, b, c] = [10, 20]
console.log(a, b, c);
//4.解构的默认值的用法
let [a=0, b=0, c = 0] = [10, 20];//c默认值为0
// let [a, b, c = 0] = [10, 20,30]
console.log(a, b, c);
//5.解构的缺省的用法
let [, , , b] = [10, 20, 30, 40];
对象的解构的常见情况 1 、完全解构 2.不完全解构 3.解构失败 4 解构默认值
//1.完全解构(变量个数与对象的属性个数一致)
// let { code: a, msg: b, data: c } = obj;
// console.log(a, b, c);
//2.不完全解构
// let { data: rst } = obj;
// console.log(rst);
//3.解构失败
// let { code: a, msg: b, data: c, info: d } = obj;
// console.log(d);
//4.解构默认值
let { code: a, msg: b, data: c = [], info: d = '' } = obj;
console.log(d);//''
console.log(c);
字符串的新增方法
1. includes() 判断字符串中是否包含指定的字符 true false
2.padStart(length,str) 使用参数str来在字符串的头部添加内容,添加之后字符串的长度为第一个参数
3.trim() 祛除字符串首尾空格
数组的迭代方法 1.forEach ,2.some ,3.every,4.map,5.filter,6.reduce
forEach(callbackfn)
示例:
arr.forEach(function (value) {//推荐 console.log(value); return; })
注意:forEach不能被return打断
参数说明:callbackfn 回调函数;该回调函数最多可以接收三个参数,分别是:value,index,arr
-
some(callbackfn) 遍历数组,判断数组中是否有元素满足条件;有一个满足,返回true,都不满足,返回false
示例:
var arr = [10, 201, 301, 1000]; var rst = arr.some(function (v) {//v 数组中的每个元素 return v > 200; });
参数:回调函数;该回调函数最多可以接收三个参数,分别是:value,index,arrevery() 遍历数组,判断数组中是否每一个元素都满足条件;满足返回true;有一个不满足则返回false示例: -
var rst=arr.every(function(value){ return value>200; })map() 遍历数组;返回的结果会组成一个新的数组返回
示例:
//4.4 map 遍历数组,为每一个元素都进行操作之后,返回由新元素组成的数组 // var arr = [10, 20, 30, 900]; // var arr0=arr.map(function(v){ // return v+10; // }) // console.log(arr0);
filter() 遍历数组;将数组中满足过滤条件的元素返回,组成新数组
示例:
var arr = [10, 20, 30, 40, 100, 99]; var arrx = arr.filter(function (v, i) { // console.log(v,i); return v > 60;//条件 }); console.log(arrx);
-
arr.reduce(callbackfn,initvalue) 返回累加结果
参数说明:callbackfn 回调函数 initvalue 回调函数第一个参数的初始值 // var arr=[11,22,55,200,300]; // //累加器 // var sum=arr.reduce(function (a, b) { // // console.log(a, b); // // return a+b; // return a*b; // })用法二:initvalue有初始值-
let arr = [ { id: 1, name: "李逵", age: 30 }, { id: 2, name: "李四", age: 40 }, { id: 3, name: "李鬼", age: 50 }, { id: 4, name: "李某", age: 20 }, ]; let s = arr.reduce(function (s, item) { return s += ` <li><span>${item.id}</span>---- <span>${item.name}</span> --- <span>${item.age}</span></li>` }, '')
遍历时,回调函数的第一个参数为默认值,第二个参数为当前遍历的元素;依次类推用法一:initvalue没有赋值,回调函数第一次执行的时候,第一个参数的值为数组的第一个元素,第二个参数的值为数组的第二个元素非第一次遍历,则回调函数的第一个参数为上一次累加的结果,第二个参数为当遍历的元素
-