一,常用数组方法
1 toString()
作用:把数组转成字符串
JavaScript 方法 toString()
把数组转换为数组值(逗号分隔)的字符串。
实例:
let arr = ['苹果','香蕉','菠萝']
console.log(arr.toString())
效果:
2.join()
作用:join()
方法也可将所有数组元素结合为一个字符串。
它的行为类似 toString(),但是您还可以规定分隔符:
实例:
let arr = ['苹果','香蕉','菠萝']
console.log(arr.join("*"))
效果:
3,Popping & Pushing
在处理数组时,删除元素和添加新元素是很简单的。
Popping 和 Pushing 指的是:
从数组弹出项目,或向数组推入项目。
Pop:弹出数组中最后一个元素
let arr = ['苹果','香蕉','菠萝']
console.log(arr.pop()) //将最后一个元素”弹出“ 打印 菠萝
push:参数为新增的元素
返回值:新数组的长度,若没有新增元素则返回原数组的长度
let arr = ['苹果','香蕉','菠萝']
console.log(arr.push('柠檬')) //打印出 4
4 reduce函数
主要作用:遍历累积运算
为什么要用reduce?
//用原生方法累加元素
let arr = [1,2,3,4,5,6]
let sum = 0;
for(let i = 0; i < arr.length; i++){
sum += arr[i]
}
console.log(sum) //21
//使用reduce累加数组里的元素
let arr = [1,2,3,4,5,6]
let result = arr.reduce((sum,value)=>{
sum+=value
return sum
},0)
console.log(result); //21
执行过程:每一个值执行一次函数体 返回值给下一次运行 (每一次函数执行都是独立的sum也是独立的)
可读性更高,更整洁
reduce(未完)
二,JavaScript 数组排序
1 sort()
sort()方法是最强大的数组方法之一
sort()
方法以字母顺序对数组进行排序:
let arr = ["Banana","Orange","Apple"]
arr.sort();
console.log(arr) //Apple Banana Orange
但是在数字排序中 20会排到100 的前面 (因为2>1)所以我们可以这样
let arr = ["100","20","400","300"]
arr.sort(function(a,b){return a-b});
console.log(arr) //['20', '100', '300', '400']
2 reverse()
反转数组 可以使用到降序排序
三,数组迭代
数组迭代方法对每个数组项进行操作
Array.forEach()
forEach()方法为每一个数组元素调用一次函数(回调函数)
语法:
array.forEach(callback(currentvalue,index,arr) ,thisValue)
参数:callback(); //回调函数
currentvalue:表示当前的元素项(必须)
index:当前元素的下标 (可选)
arr: 当前元素所属的数组(可选)
this.value : 表示callback的this指向 (可选) 不写时指向全局window
注意:forEach没有返回值
forEach适用于集合或数组的遍历 复杂的循环还是用for
3 Array.map()
通过对每个数组元素执行函数来创建新数组。
不会对没有值的数组元素执行函数。
不会更改原始数组。
返回一个新的数组(如果你不打算使用返回的新数组,那就用forEach或者for-of)
4 Array.filter()
//箭头函数
filter((element, index, array) => { /* … */ } )
//回调函数
filter(callbackFn, thisArg)
//内联回调函数
filter(function(element, index, array) { /* … */ }, thisArg)
callbackFn : 用来筛选元素 回调函数返回 true 则保留 否则不保留
element : 当前正在处理的元素
index : 正在处理元素的索引
thisArg : 执行回调时,this指向
返回值:返回一个新的数组(由保留的元素组成,如果没有元素保留则返回空数组)