1.数组方法
数组元素的排序:sort()
语法格式:数组名.sort();
sort()方法可以没有参数使用:将数组中所有的元素都看作字符型数据来进行排序。
var num=[10,5,4,0,29,91,52,73,1];
console.log(num);
num.sort(function(a,b){ return a-b; }) //将num数组的元素按照数值关系升序排列
console.log(num); //[0,1,4,5,10,29,52,73,91];
数组元素的添加方法qush(),unshift()方法
将新元素添加到一个数组中,并返回数组的新长度值。
push()它是在数组的尾部添加
unshift()它是在数组的头部添加
var a= [1,2,3,]
var b = a.push(5)
console.log(b) //返回的是4
var a= [1,2,3]
// var b = a.push(5) //[1, 2, 3 , 5]
var c = a.unshift(6)
console.log(a) // [6, 1, 2, 3]
数组元素的删除pop(),shift()
pop()删除数组最后一个元素,返回被删除的元素,无参,原数组变为删除后的数组
shift()删除数组第一个元素,返回被删除的元素,原数组变为删除后的数组
var arr = [1, 2, 3];
var res3 = arr.pop();
console.log(arr); // [ 1, 2 ]
slice()
功能:截取数组
返回值:返回一个新数组(截取的),原数组不改变
var arr = [10, 20, 30, 40];
var res = arr.slice(1, 3);
console.log(arr, res); //[ 10, 20, 30, 40 ] [ 20, 30 ]
reverse()
对数组元素进行逆序,会改变原数组,返回值就是原数组改变后的结果
var arr3 = [1, 2, 3];
var res4 = arr3.reverse();
console.log(arr3); //[3,2,1]
console.log(res4); //[3,2,1]
console.log(res4 === arr3); // true
es5数组操作
forEach()
对数组进行遍历,无返回值
var arr = [10,30,50,70];
arr.forEach(item =>{
if(item >20){
console.log(item)
}
})
找出arr数组中的小于20的数
indexOf()
判断一个元素是否存在数组中,存在的话,返回元素所在数组下标,不存在返回-1
var arr2 = [-2,34,0,-5,6];
var index = arr2.indexOf(34);
var index2 = arr2.indexOf(134);
console.log(index,index2); // 1 -1
filter()
对原数组进行过滤,由每次函数返回值为true对应的元素组成一个新数组,原数组不变
var array = [10,23,21,34,44,88];
var res = array.filter(function(item,index,arr) {
if(item%2 === 0){
return item
}
});
console.log(res); // [ 10, 34, 44, 88 ]
map()
返回新的数组,新数组长度与原数组长度一样,新数组的每个元素等于每次函数的返回值
var array = [10, 23, 21, 34, 44, 88];
var res2 = array.map(function (item, index, array) {
//return 0;
return item - 5; //返回值每个数减5
});
console.log(array); // 原数组不变 [ 10, 23, 21, 34, 44, 88 ]
console.log(res2); // [ 5, 18, 16, 29, 39, 83 ]