join()数组转换成字符串
push()尾部添加
pop()尾部删除
shift() 头部删除
unshift() 头部添加
sort()排序
reverse()反转
concat()链接两个或多个数组
slice():不改变原数组
var arr=[1,2,3,4,5] console.log(arr.slice(1)) //[2,3,4,5]选择序列号从1到最后的所有元素组成的新数组 console.log(arr.slice(1,3)) //[2,3]不包含序列号,序号为3的元素
splice():改变原数组
splice(index,howmany,item1,...itemx) index参数:必须,整数,规定添加或删除的位置,使用负数,从数组尾部规定位置 howmany参数:必须,要删除的数量,如果为0则不删除项目 item1,...itemx参数:可选,向数组添加的新项目 var arr=[1,2,3,4,5] console.log(arr.splice(2,1,"hello"));//[3]返回的新数组 console.log(arr);//[1,2,"hello",4,5]
indexOf()和 lastIndexOf() (ES5新增) forEach() (ES5新增)
forEach怎么跳出循环:
orEach方法跳出循环------通过抛出异常的方式跳出循环 通过return跳过当次循环
补充:JS 使用try catch捕获异常
for和forEach的区别 :
-
foreach()不能使用break和continue这两个关键字,它实现break效果可以通过抛出异常的方式,实现 continue的效果可以直接使用return。
-
forEach的优势就是,它传入的是一个回调函数,因此形成了一个作用域,它内部所定义的变量不会像for循环一样污染全局变量。
-
forEach()本身无法跳出循环,必须遍历所有的数据才能结束。
map() (ES5新增):从数组的元素中,计算出新的数组,不改变原数组,会返回一个新的数组
map和forEach的区别:
1.map 不会改变原数组,forEach:如果数组里是基本数据类型则不会改变,数组里的元素是对 象的话属性值发生变化的话就会改变
2.forEach使用场景:并不打算改变数据的时候,而只是想用数据做一些事情,比如存入数据库 ??? 或则打印出来,map 使用场景:map使用于你要改变数据值的时候。不仅仅在于它更快,而且还返回 一个新的数组
filter() (ES5新增)返回符合条件的数组,不改变原数组
every() (ES5新增)每一个都要满足条件,返回(布尔)
some() (ES5新增)只要有一个满足就会返回(true)
find()查找符合条件的数据,返回满足条件的第一个元素
es6中some和find的区别 some 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。 find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。
reduce()
reduce()可以传入两个参数,第一个是执行化简操作的函数。同样这个函数可以有参数,第一个参数代表之前所有元素的累积结果,第二个参数代表当前进行运算的元素,第三个参数代表当前运算参数的索引值。第四个参数代表调用方法的原数组。
第二个参数是可选的,是一个传递给函数的初始值。如果第二个参数有值,那么作为运算的初始值参与函数运算,如果第二个参数没有值,那么数组中的首位将作为函数运算的初始值,参与函数运算的数组其他位向后平移一位。