数组函数
1、filter()
此方法是将所有元素进行判断,将满足条件的元素作为一个新的数组返回源数组不变
var arr = [1,2,3,4,5];
var newArr = arr.filter(function(fil){
//如果条件结果为true则将返回元素存储到新数组中
return fil>5
})
console.log(newArr)
console.log(arr)
2、map()
此方法是将数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,并没有改变源数组
var arr = [1,2,3,4,5];
var newArr = arr.map(function(a){
//将条件的结果返回到新数组中
return a>5
})
console.log(newArr)
3、forEach()
此方法是将数组中的每个元素执行传进提供的函数,没有返回值
var arr = [1,2,3,4,5];
arr.forEach(function(a){
if(a>5){
console.log(a)
}
})
4、reduce()
此方法是所有元素调用返回函数,返回值为最后结果,传入的值必须是函数类型
var array = [1,2,3,4,5];//a 累加和 b数组元素
var add = array.reduce(function(a,b){
return a += b
})
console.log(add)
5、Array.isArray()
判断一个对象是不是数组,返回的是布尔值
var str = 123
console.log(Array.isArray(str))
6、toString()
将数组转换为字符串
var array1 = [7,8,9]
var array2 = array.concat(array1)
console.log(array2,array,array1)
6.1、concat:
用于连接两个或者多个数组,不会改变现有数组,而仅仅返回一个连接数组后的副本,可以是具体的值,可以是数组对象,任意多个。
let arr = [1,2,3,4]
let arr2 = [7,8,9]
var change = arr.concat(arr2)
console.log(change); //连接数组:[ 1, 2, 3, 4, 7, 8, 9 ]
let arr3 = [666,777,888]
var change = arr.concat(arr2,arr3)
console.log(change); //[ 1, 2, 3, 4, 7, 8, 9, 666, 777, 888 ]
let stringDom = {name:"派大星",age:666}
var strChange = change.concat(stringDom)
console.log(strChange); //连接对象:[ 1, 2, 3, 4, 7, 8, 9, 666, 777, 888, { name: '派大星', age: 666 } ]
7、join()
此方法也是将数组转化为字符串
var array1 = [7,8,9];
var str = array.join("");
console.log(str)
8、splice()
数组元素的添加修改删除操作
从下标为2的元素开始删除 删除一个
var array = [1,2,3,4,5,6,7,8]
var newArr = array.splice(2,1)
console.log(newArr)
console.log(array)
从下标为2的位置开始替换 删除2个在此位置添加一个haha元素
var array = [1,2,3,4,5,6,7,8];
var newArr = array.splice(2,1,"haha")
var newArr = array.splice(2,2,"haha")
console.log(newArr)
console.log(array)
在下标为2的位置开始删除0个,在下标为2的元素之前添加“haha”
var array = [1,2,3,4,5,6,7,8];
var newArr = array.splice(2,0,"haha")
console.log(newArr)
console.log(array)
9、revurse() 反转
var array = [1,2,3,4,5]
var array1 = array.reverse()
console.log(array1,array)
10、sort() 排序
var array = [123,1235,1,4,3,72];
console.log(array.sort())
var array1 = array.sort(function(a,b){
if(false){
//升序
return a-b
}else{
return b-a
}
})
console.log(array1)
11、push()
该方法向指定数组末尾添加一个或者多个数组元素
返回给我们新数组的长度
此方法会改变源数组的值
var arr = [1,2,3,4,5,6,7]
console.log(arr)
var result =arr.push(8,9)
console.log(result)
console.log(arr)
console.log(arr.length)
12、pop()
该方法删除指定数组的最后一个元素
返回值是删除的元素
var arr = [1,2,3,4,5,6,7,8,9]
var ret = arr.pop();
console.log(ret)
console.log(arr.length)
13、unshift()
该方法向指定数组头部添加一个或者多个数组元素
返回给我们新数组的长度
此方法会改变源数组的值
var arr = [2,3,4,5,6,7,8,9]
var ret = arr.unshift(1)
console.log(ret)
console.log(arr)
14、shift()
该方法删除指定数组的第一个元素
返回值是删除的元素
var arr = [1,2,3,4,5,6,7,8,9]
var ret = arr.shift()
console.log(ret)
console.log(arr.length)
console.log(arr)