JavaScript中的内置对象Array常用属性和方法

270 阅读3分钟
  1. Array.isArray(arr);这是一个静态方法。判断变量arr是否为一个数组,是则返回true,否则返回false。
  2. 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]
  1. 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;
})
  1. arr.filter(fun);返回一个新数组,新数组的元素是符合参数函数的条件。即筛选,选出符合条件的元素,放到新数组中。
<!--在arr数组中挑选出是number类型的元素,组成新数组result-->
var result = arr.filter(function (ele){
	return (!isNaN(ele));
	});
    console.log(result);
  1. arr.push(element1, ...,elementN);将一个或多个元素添加到数组的末尾,返回添加之后数组的长度。
<!--向数组arr中添加了d和e两个元素,最后返回的是加了元素之后数组arr的长度-->
var result = arr.push("d","e");
	console.log(result);
  1. arr.pop();删除数组中最后一个元素,返回的是这个删除的元素。如果你在一个空数组上调用 pop(),它返回 undefined。
<!--result为删除的元素-->
var result = arr.pop();
	console.log(result);
  1. arr.shift();删除数组中第一个元素,返回的是这个删除的元素。
  2. arr.unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度。
result为arr添加了10和‘e’元素之后的长度
var result = arr.unshift(10,"e");
  1. arr.forEach(fun);遍历数组,可对每个元素在回调函数中进行操作。
arr.forEach(function (ele,index){
	console.log(ele);
	});
  1. arr.indexOf(ele);返回元素的索引,若没有找到则返回-1.
  2. 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

  1. arr.map(fun);数组中的每个元素都要执行这个函数,把执行后的结果重新的全部的放在一个新的数组中.
将数组的每个元素进行平方根
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
console.log(roots);
// expected output: [1,2,3]
  1. arr.reverse();将数组的元素进行反转。
  2. 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;
        }
    });

  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]
  1. 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"]
  1. 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