数组小知识
pop()
例子:
var aar = ['a','b'];
aar.pop();//移除最后一项,返回移除项
push()
例子:
var aar = ['a','b'];
aar.push('d','c'); //添加到数组末尾,返回修改后数组长度
shift()
例子:
var aar = ['a','b'];
aar.shift();//移除第一项,返回移除项
unshift()
例子:
var aar = ['a','b'];
aar.unshift('c','s');//添加到数组前面,返回修改后数组长度
conact()
例子:
var aar = ['a','b'];
aar.conact('c');//连接数组 生成新的数组
aar.conact(['d','e']);
console.log(aar);//打印结果:['a','b','c','d','e']
slice()
例子:
var aar = ['a','b','c','d','e'];
aar.slice(1); // 生成新数组 ['b','c','d','e']
aar.slice(1,4); // 生成新数组 ['b','c','d']
//可以接收一或两个参数
splice()
删除 插入 替换
例子:
var aar = ['a','b','c','d','e'];
aar.splice(1,2);//1:起始位置 2:删除项数 从位置1删除两项
aar.splice(1,0,'f');//1:起始位置 2:删除项数 在位置1处插入f
aar.splice(1,1,'f');//1:起始位置 2:删除项数 在位置1处插入f 删除一项
indexOf()/lastIndexOf()
例子:
var aar = ['a','b','c','d','e'];
arr.indexOf(b);//从第一项开始找到b的位置 1
arr.lastIndexOf(b) //从末尾开始找到b的位置 3
//找不到则返回-1
迭代方法
every(), filter() ,forEach(), map(), some()
1、其中,every()和some()两个方法及其相似,都用于查询数组中的项是否满足某个条件,
但是不一样的地方是,every()类似于逻辑运算中的&&,数组中的每一项都要满足条件,
才能返回true值,且当前面有一个不满足时便直接返回false;some()则类似于逻辑运算中的||,
数组中只要有一项满足条件便返回true,且当第一项满足返回true是便直接返回true。
例子:
function numberChecker(element,index,item){
return (element >=10 );
}
console.log("every:",[10,80,5,10,50].every(numberChecker));//false
console.log("some:",[1,8,5,10,5].some(numberChecker));//true
//numberChecker()这个方法用于判断数字是否满足条件,满足则返回true
2、filter()和它的名字一样,就是过滤,从数组中过滤出自己想要的子数组。
例子:
function numberChecker(element,index,item){
return (element >=10 );
}
console.log([10,80,5,10,50].filter(numberChecker));//[10,80,10,50]
//numberChecker()这个方法用于判断数字是否满足条件,满足则返回true
3、map()和它的名字一样,就是映射,将原数组映射成新的数组。
例子:
function numberChecker(element,index,item){
return (element * 2);
}
console.log([10,80,5,10,50].filter(numberChecker));//[20,160,10,20,100]
//numberChecker()这个方法用于设定条件方法
4、forEach()类似于数组遍历。
例子:
var arr= [10,80,5,10,5];
var evenArr = [];
function numberChecker(element,index,item){
if (element%2 == 0) {
evenArr.push(element);
return;
}
}
arr.forEach(numberChecker2)
console.log(evenArr);//[10,80,10]
//numberChecker()这个方法用于设定条件方法,选出偶数
数组排列
//降序
function descending(v1,v2){
if( v1 < v2 ){
return 1;
}else if( v1 > v2 ){
return -1;
}else{
return 0;
}
}
//升序
function ascending(v1,v2){
if( v1 > v2 ){
return 1;
}else if( v1 < v2 ){
return -1;
}else{
return 0;
}
}