常见的Array对象方法
.concat(数组1,数组2…)组合成一个新的数组
.every(函数) 返回值是布尔类型,这个函数中有三个参数,一假即假
.some(函数) 返回值是布尔类型,这个函数中有三个参数,一真即真
.filter(函数) 返回的是数组中每一个符号条件的元素,组成的一个新的数组
.push(值) 把这个值追加到数组的末尾,返回值是追加后数组的长度 .unshift(值) 把这个值追加到数组中第一个元素的前面,返回值是追加后数组的长度
.pop() 删除数组中的最后一个元素,返回的是删除的这个值
.shift() 删除数组中的第一个元素,返回的是删除的这个值
.forEach(函数) 这个用于遍历数组 相当于for循环
.indexOf() 返回的是元素所对的索引值,没有则返回-1
.join(“字符串”) 用这个字符串分割,返回的是一个新字符串
.reverse() 反转数组
.sort() 排序,不稳定
.slice(开始的索引,结束的索引) 包前不包后,截取数组的值放到新的数组
.splice(开始的位置,要删除的个数,替换的元素) 一般用于删除数组中的某个元素, 追加元素,替换元素等。
判断某个对象是不是数组类型 instanceof
Array对象的案例
//筛选数组中不等于0的字符串
var arr=[0,10,23,100,232,0,30];
var newAr=arr.filter(function (ele) {
return ele!=0;
})
console.log(newAr);
var arr=[10,20,40,30];
//a:元素的值
//b:元素索引的值
//c:数组
var flag= arr.every(function (a,b,c) {
//console.log(arguments);
console.log(a+"="+b+"="+c);
return a>20;//只要数组的每个元素的值都大于20,最后才会返回true,只要有一个小于20就会返回flase
})
console.log(flag);
var flag1=arr.some(function (a,b,c) {
return a>20;//只要数组的一个元素的值都大于20,最后都会返回true
})
console.log(flag1);
var a=[1,2,3];
a.forEach(function (ele1,index) {
console.log(ele1+"==="+index);
});
console.log(a.indexOf(2));
var ar=[“小白”,“小红”,“小河”,45,34,2,1,10,16,46];
console.log(ar.join("|"));
console.log(ar.reverse());
console.log(ar.sort());
ar.sort(function (a,b) {
if(a>b){
return 1;
}
else if(a<b){
return -1;
}else{
return 0;
}
})
console.log(ar);
去掉一个数组中的重复元素
var arr1=[“a”,“b”,“c”,“d”,“a”,“d”,“h”];
function clear() {
var obj={};
for(var i=0;i<arr1.length;i++){
if(obj[arr1[i]]){
obj[arr1[i]]++;
}else {
obj[arr1[i]]=1;
}
}
console.log(obj);
var newArr=[];//储存新的没有重复的元素
for(var key in obj){
//newArr.push(key);
//判断每个键的值是1的话就添加到数组里
if(obj[arr1[i]]1){
newArr.push(key);
}else {
//判断新数组里如果没有key,则添加进去
if(newArr.indexOf(key)-1){
newArr.push(key);
}
}
}
console.log(newArr);
}
clear();
工资的数组,只要工资超过2000的就删除
var solcoy=[1500,2000,3000,800,4000];
for(var i=0;i<solcoy.length;i++){
if(solcoy[i]>2000){
solcoy.splice(i,1);
}
}