js 数组传统方法

js 数组传统方法

push()

功能:向数组的末尾添加一个或多个元素

var arr = [4]; 
arr.push(1,2,3);  // [4,1,2,3] 

返回: 会返回新数组的长度length

pop()

功能:删除数组的最后一个元素

var arr = [1,2,3,4];
arr.pop();  // [1,2,3]

返回:会返回被删除后的新数组

unshift()

功能:向数组的开头添加一个或者多个元素

var arr = [1,2,3,4];
arr.unshift(7);  // [7,1,2,3,4]

返回:会返回新的数组长度length

shift

功能删除数组的第一个元素

var arr = [1,2,3,4];
arr.shift();  // [2,3,4]

返回:会返回被删除后的新数组

数组的遍历 :

function Person(name,age) {
	this.name  = name ;
	this.age = age;
};

var per1 = new Person('a',12),
	  per2 = new Person('b',14),
	  per2 = new Person('c',11),
	  perArr =  [per1,per2,per3];
function getAdult(arr){
	var newArr = [];
	for(var i=0;i<arr.length;i++) {
		if(arr[i]['age']>12) {
			newArr['push'](arr[i]);
		}
	}
	return newArr;
};

slice()

功能:从数组中提取元素
参数:
1: 截取开始位置的索引
2: 截取结束位置的索引
第二个参数可以省略不写,表示从start开始的后边都被截取
( 包头不包尾 )
第二个 参数 还可以传入一个负值 表示 从后开始数

var result = array.slice(start,end);

var arr = [1,2,3,4];
var newArr = arr.splice(1,-1); //[2,3]  -1代表4

返回:不会影响原数组,返回截取完之后的新数组

splice()

功能:删除数组中的指定元素,或是添加加元素到指定位置
参数:
1: 表示开始位置的索引
2: 表示删除的个数
3: 可以讲这些元素自动插入到开始位置索引前边

var arr = [1,2,3,4,5];
arr.splice(0,2,1212); //[1212,3,4,5]

arr.splice(0,0,1212121); //往第一个参数的前面添加元素 [1212121,1,2,3,4,5]

数组去重:

var arr = [1,2,2,3,4,4,3,4,4,5,5,7];
for (var i = 0; i < arr.length; i++) {
    for (var j = 1+i; j < arr.length; j++) {
        if(arr[i]===arr[j]) {
            arr.splice(j,1);
            j--; //注意删了一位后,后面的数自动往前推一位,导致相邻的一位没有被比较
        }

    }

}
console.log(arr);

concat()

功能:连接两个或是多个数组

var arr = [1,2];
var arr1  = [22,33];
var newArr = arr.concat(arr1);

返回:会返回链接之后的新数组

join()

功能:将数组转换成为一个字符串,不会对原数组产生影响
参数:可以指定一个字符串作为参数,这个字符串会成为数组中元素的连接符,默认为‘,’l连接

var arr = [1,2];
var result = arr.join(); //'1,2'

var result = arr,join(''); //'12'

返回:会返回新的数组

reverse()

功能:反转数组

var arr = [1,2,3,4];
arr.reverse(); // [4,3,2,1]

返回:会返回反转之后的新数组

sort()

功能:数组排序,会影响原数组,默认按照unicode编码进行排序,从小到大
参数:回调函数
会分别使用数组中的元素作为实参去调用回调函数
会根据回调函数的返回值来决定元素的位置
若返回一个大于0的则元素 交换位置
若返回一个小于0的则元素 位置不变
若返回一个==0的则元素 位置不变

var arr2 = [1,4,5,6,3,65,11];
arr2.sort(function(a,b) {
if(a>b) {
	//前边大 换位置(升序)
	return 1;
} else if(a<b){
	return -1;
} esle {
	return 0;
};

//return a-b; 同上(升序)
//return b-a;(降序)
});

toString()

功能:将数组转化为字符串

var arr = [1,2,3,4];
arr.toString(); // "1,2.3,4"

猜你喜欢

转载自www.cnblogs.com/Cuimh/p/11504890.html