【javascript】es5、es6常用语法

1.数组

不会改变原来数组的有: concat()—连接两个或更多的数组,并返回结果。

every()—检测数组元素的每个元素是否都符合条件。

some()—检测数组元素中是否有元素符合指定条件。

filter()—检测数组元素,并返回符合条件所有元素的数组。

indexOf()—搜索数组中的元素,并返回它所在的位置。

join()—把数组的所有元素放入一个字符串。

toString()—把数组转换为字符串,并返回结果。
lastIndexOf()—返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。

map()—通过指定函数处理数组的每个元素,并返回处理后的数组。

slice()—选取数组的的一部分,并返回一个新数组。

valueOf()—返回数组对象的原始值。

-----------分割线-------------------

会改变原来数组的有: pop()—删除数组的最后一个元素并返回删除的元素。

push()—向数组的末尾添加一个或更多元素,并返回新的长度。

shift()—删除并返回数组的第一个元素。

unshift()—向数组的开头添加一个或更多元素,并返回新的长度。

reverse()—反转数组的元素顺序。

sort()—对数组的元素进行排序。

splice()—用于插入、删除或替换数组的元素。

let a = [1, 2, 3, 4, 5, 6, 7]

1.1 forEach(ES5新增)(可改变原值)

foreach 等方法里面回调函数里面是执行window的 因为里面函数执行调用是window.回调函数,因此里面的this是window,可以用箭头函数取消里面的作用域

遍历数组,无返回值,

a.forEach((value,index,arr)=>{
   console.log(value,index,arr)
   arr[index] = '123';
   return;// 不能使用continue,可使用return代替,等于continue
   arr[index] = '321'//此处不生效
   // 此外不能用break中断整个循环,只能用some或者every这种函数
   
})

// a= ['123','123''123''123''123','123','123']

在这里插入图片描述

1.2 map(ES5新增)

遍历数组,返回一个新数组,不改变原数组

let b = a.map(e=>{ return e*2}) //返回一个新的数组,原数组不变
//[2, 4, 6, 8, 10, 12, 14]

1.3 filter(ES5新增)

过滤掉数组中不满足条件的值,返回一个新数组,不改变原数组

a.filter((e)=>{return e!=2})
//[1, 3, 4, 5, 6, 7]

1.4 reduce(ES5新增)

让数组的前后两项进行某种计算,然后返回其值,并继续计算,不改变原数组,返回计算的最终结果,从数组的第二项开始遍历

1.5 some(用于数组遍历中的break)(ES5新增)(可改变原值。增强forEach)

遍历数组的每一项,有一项返回true,则停止遍历,返回 true

var b = a.some((e)=>{return e === 2})

1.6 every(用于数组遍历中的break)(ES5新增)(可改变原值。增强forEach)

遍历数组的每一项,每一项都返回true,则最终结果为true,有一项返回false,则停止遍历,返回结果为false

1.7 Array.from()

将类数组转为数组,如set、map、字符串

1.8 Array.of()

将一组值转为数组

1.9 find

找出第一个符合条件的数组成员。回调函数中,参数1–value,参数2–index,参数3–原数组

1.10 fill

指定值填充数组。一般用于空数组的初始化–new Array(3).fill(7);–创建一个长度为3,每项值为7的数组

1.11 keys()、values()、entries()

keys()----键名,values()----键值,entries()----键值对

1.12 indexOf()

从前到后查到该值的下标

var cc = '123454321'
cc.indexOf(2) //1

1.13 lastIndexOf()

var cc = '123454321'
cc.lastIndexOf(2) //7

从前到后查到该值的下标

1.14 join

var arr = [1,2,3];
console.log(arr.join());     // 1,2,3
console.log(arr.join("-"));   // 1-2-3
console.log(arr);         // [1, 2, 3](原数组不变)

就是把数组转换成字符串,然后给他规定个连接字符,默认的是逗号( ,)

1.15 push/pop(会修改原数组)

push() :把里面的内容添加到数组末尾,并返回修改后的长度

pop() :移除数组最后一项,返回移除的那个值,减少数组的length

1.16 shift/unshift(会修改原数组)

shift():删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined

unshift:将参数添加到原数组开头,并返回修改后的长度

1.17 sort

var arr1 = ["a", "d", "c", "b"];
console.log(arr1.sort());           // ["a", "b", "c", "d"]
排序,数字字母都可以

1.18 reverse(会修改原数组)

var arr = [13, 24, 51, 3];
console.log(arr.reverse());         //[3, 51, 24, 13]
console.log(arr);               //[3, 51, 24, 13](原数组改变)

反转

1.19 contact

var arr = [1,3,5,7];
var arrCopy = arr.concat(9,[11,13]);
console.log(arrCopy);             //[1, 3, 5, 7, 9, 11, 13]
console.log(arr);               // [1, 3, 5, 7](原数组未被修改)

将参数添加到原数组中,原数组不变

1.20 slice

var arr = [1,3,5,7,9,11];
// 一个参数
var arrCopy = arr.slice(1);//从索引1开始到结尾
var arrCopy_ = arr.slice(-1);//从索引-1开始到结尾,其实就是截取最后一个
console.log(arrCopy);             //[3, 5, 7, 9, 11]
console.log(arrCopy_);             //[11]

//两个参数
var arrCopy2 = arr.slice(1,4);//从索引1开始到索引3
var arrCopy3 = arr.slice(1,-2);//从索引1到倒数第三个,注意第二个参数为负数的时候,-1是最后一个,依次-2、、、、-3、、、往左推
var arrCopy4 = arr.slice(-4,-1);//从倒数第四个到倒数第2个

console.log(arr);               //[1, 3, 5, 7, 9, 11](原数组没变)
console.log(arrCopy2);            //[3, 5, 7]
console.log(arrCopy3);            //[3, 5, 7]
console.log(arrCopy4);            //[5, 7, 9]

在只有一个参数的情况下, slice()方法返回从该参数指定位置开始到当前数组末尾的所有项。
如果有两个参数,该方法返回起始和结束位置之间的项——但不包括结束位置的项。

1.21 splice(会修改原数组)

var arr = [1,3,5,7,9,11];
// 一个参数
var arrCopy = arr.splice(1);//删除从索引1开始到结尾的,并返回
//arr=>[1]
//return arrCopy =>[3,5,7,9,11]
var arrCopy_ = arr.splice(-1);//从索引-1开始到结尾,其实就是截取最后一个
//arr=>[1,3,5,7,9]
//return arrCopy ->[11]


// 两个参数
var arrCopy2 = arr.splice(1,2);//删除从索引1开始,长度为2的的数组并返回
//arrCopy2 =>[3,5]
//arr=>[1,7,9,11]

var arrCopy2 = arr.splice(-5,2);//删除从倒数第4个元素开始,长度为2的的数组并返回
//arrCopy2 =>[3,5]
//arr=>[1,7,9,11]

通过索引开始删除某些元素,index,length,返回删除后的元素,原数组变化
也可以插入某个元素,第三个参数不为空的时候,则是插入



var adddItems = vegetables.splice(1, 2,'测试');
console.log(adddItems );.
// ["Cabbage", "测试", "Carrot"]
// 从下标为1开始删除2两个元素,并在下标为1的地方开始插入值

2.await/async

let response = await fetch(url)

等于

let response;
fetch(url).then((data)=>{
     response = data;
})

response.arrayBuffer()或者response.json()注意返回的也是给promise对象,可以配合await使用

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值