数组操作全解
js变量类型
var string;var name = "student",age=12; //underfined、null、boolean、string、number为基本数值类型。逗号一并定义初始化多个变量
。基本包装类型String、Boolean、Number通过valueOf()可以获取基本数值类型,可以实现自动装箱和拆箱操作。
数组的定义
var names=[];
names = ["小明","小红","小刚"];
names = new Array();
names=new Array(names.length);
names = new Array('小明','小红','小刚');
增删查改
names[4]="小胡";
names.unshift("小李","小兰");
names.push("小李","小兰");
var item = names.pop();
item=names.shift();
names.splice(2,1,"小季","小明");
var nameitem=names[2];
names = names.slice(-4,6);
names.indexOf("小明");
names=names.concat("小王",["小明","小黑"]);
var str=stringnames.join(",");
遍历
var boolresult = names.every(function(item,index,array){ //对数组中元素每一项进行布尔运算,返回false和true。every函数,全部元素返回true时返回true。some函数某一元素返回true时返回true
return (index>2);
});
var nameresult = names.filter(function(item,index,array){ //返回数组,filter函数获取满足条件的项,map函数获取每一项计算值的集合,不改变原数组,forEach函数等价于for语句,对每项处理
return (index>2);
});
nameresult = names.reduce(function(prev,cur,index,array){ //reduce从前向后迭代,reduceRight从后向前迭代。
return prev+"+"+cur; //迭代从第二项开始,prev初始值为第一项,cur初始值为第二项。计算值自动传给下一函数的prev,返回最后一次迭代产生的值
});
排序
names.reverse();
names.sort();
function compare(student1,student2){
return student2.age-student1.age;
}
数组原型
自定义数组原型函数,实现为所有数组添加功能
function array_max( )
{
return Math.max.apply(Math,this);
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max( );