- Array.isArray(arr);这是一个静态方法。判断变量arr是否为一个数组,是则返回true,否则返回false。
- arr1.concat(arr2);将数组arr1与数组arr2合并并返回成一个新数组。
var arr1 = [1,2,3];
var arr2 = [4,5,6];
var result = arr1.concat(arr2);
//结果为:result = [1,2,3,4,5,6]
- arr.every(fun);判断数组中每个元素的值是否符合参数函数中的条件,全部符合返回true,有一个不符合返回false。若是参数函数不是对元素进行判断,也返回false。
方法every传的是回调函数,函数中的参数分别是ele为数组中的元素,index为元素的索引,array为当前的数组,这三个参数可有可无,经常使用的是ele和index,即array可以不加
var result = arr.every(function (ele,index,array){
return arr instanceof Number;
})
- arr.filter(fun);返回一个新数组,新数组的元素是符合参数函数的条件。即筛选,选出符合条件的元素,放到新数组中。
<!--在arr数组中挑选出是number类型的元素,组成新数组result-->
var result = arr.filter(function (ele){
return (!isNaN(ele));
});
console.log(result);
- arr.push(element1, ...,elementN);将一个或多个元素添加到数组的末尾,返回添加之后数组的长度。
<!--向数组arr中添加了d和e两个元素,最后返回的是加了元素之后数组arr的长度-->
var result = arr.push("d","e");
console.log(result);
- arr.pop();删除数组中最后一个元素,返回的是这个删除的元素。如果你在一个空数组上调用 pop(),它返回 undefined。
<!--result为删除的元素-->
var result = arr.pop();
console.log(result);
- arr.shift();删除数组中第一个元素,返回的是这个删除的元素。
- arr.unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度。
result为arr添加了10和‘e’元素之后的长度
var result = arr.unshift(10,"e");
- arr.forEach(fun);遍历数组,可对每个元素在回调函数中进行操作。
arr.forEach(function (ele,index){
console.log(ele);
});
- arr.indexOf(ele);返回元素的索引,若没有找到则返回-1.
- arr.join(str) 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串,str为每个元素之间的连接标志。
var arr = ['a', 'b', 'c'];
console.log(arr.join());
// expected output: a,b,c
console.log(arr.join(''));
// expected output: FiareWindRain
console.log(arr.join('-'));
// expected output: a-b-c
- arr.map(fun);数组中的每个元素都要执行这个函数,把执行后的结果重新的全部的放在一个新的数组中.
将数组的每个元素进行平方根
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
console.log(roots);
// expected output: [1,2,3]
- arr.reverse();将数组的元素进行反转。
- arr.sort();对数组中的元素进行排序,这个方法不稳定,可能会出现没有排序,解决方案是在sort方法中加上固定的参数函数
<!--这里的a相当于冒泡排序里的arr[j],而b想相当于arr[j+1]的意思-->
arr.sort(function (a,b) {
if(a>b){
return 1;
}else if(a==b){
return 0;
}else{
return -1;
}
});
- arr.slice(startIndex,endIndex);根据开始索引和结束索引,截取数组里面的元素,形成一个新的数组并返回。截取的元素从arr[startIndex]到arr[endIndex-1]。
// var arr=[10,20,30,40,50,60,70,80,90,100];
// var newArr= arr.slice(3,7);
// expected output: [40,50,60,70]
- arr.splice(startIndex,num,newEle1,newEle2,...);删除元素并添加新元素。参数startIndex为开始删除的索引,num为所删除的格式,newEle1...为在删除的位置上添加新的元素,所有被删除的元素形成一个的数组并返回。
var arr = [1,2,3,"a","b","c"];
var result = arr.splice(3,2,"p","r");
console.log(result);
// expected output: ["a","b"]
console.log(arr);
// expected output: [1, 2, 3, "p", "r", "c"]
- arr.some(fun); 测试数组中的是否有元素符合参数函数所提出的条件,有符合的返回true,否则返回false。如果参数函数没有条件判断,或者数组为空数组,返回值默认为false。
var arr = [10,20,30,40,50,60,"a","b","c"];
var result = arr.some(function (ele){
return ele >10;
});
console.log(result);
// expected output: true