1.for 可使用break continuere turn等语句;
2.for in 遍历数组下标 对象属性(key),可使用break continuere turn等语句;
3.for of 遍历数组元素,对象属性值,可使用break continuere turn等语句;
- const arr =['北京','上海','广州','深圳']
-
- for (const [index,item] of arr.entries()) {
- console.log(index,item)
- }
-
- arr.entries()方法 [[0,'北京'],[1,'上海'],[2,'广州'],[3,'深圳']]
- //1.输入的一个对象,返回的是以对象的属性名和属性值组成的二维数组
- // 2.如果原对象的属性名是一个Symbol值,该属性会被忽略
4.forEach比较全 数组元素和下标都能拿到。不能使用break continuere turn等语句。
5.map 不会对原数组产生改变.
6.reduce 可以遍历调用该方法的数组并使用传入参数方法,返回遍历完成后最终的执行结果,不会修改原数组。
7.filter 用于筛选出符合要求的数据,并返回该数据集合,不会对原数组产生改变.
改变原数组的方法:
1.pop():删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不 改变数组,并返回 undefined 值。arrayObject.pop()
2.push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组,arrayObject.push(newelement1,newelement2,….,newelementX)
3.reverse():将数组中元素颠倒过来,该方法会改变原来的数组,而不会创建新的数组。arrayObject.reverse()
4.shift():数组的第一个元素从其中删除,并返回第一个元素的值,如果数组是空的,那么 shift() 方法将不进行任何操作.
5.sort():对数组的引用。请注意,数组在原数组上进行排序,不生成副本。arrayObject.sort(sortby) 不传参数将不会按照数值大小排序,按照字符编码的顺序进行排序;
6.splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组
arrayObject.splice(index,howmany,item1,……,itemX)
7.unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。arrayObject.unshift(newelement1,newelement2,….,newelementX)返回arrayObject 的新长度
其他的方法不会改变原数组,而是返回一个新的数组。