此文章的目的是让本人更加认真的回顾一下基础知识
声明两个内容一模一样的数组的方法
法一:
var list=[1,2,3,4,5,6];
var arr=[];
for(var i=0;i<list.length;i++){
arr[arr.length]= list[i];
}
arr.push(7);
document.write(arr); //1,2,3,4,5,6,7
法二:
ar arr=[...list];
arr.push(7);
document.write(list); //1,2,3,4,5,6
document.write(arr); //1,2,3,4,5,6,7
当前面添加3个点时便可以直接进行赋值,并且改变其内容时不改变list中的内容
法三:
var list=[1,2,3,4,5,6];
var arr=[];
for(var i in list){
arr.push(list[i]);
}
document.write(arr); //1,2,3,4,5,6,
原因:
var list=[1,4,6,34,12,0]
for(var i in list){
//i所对应的值为集合下标
document.write(i+"所对应的的值为"+list[i])
document.write("<br>")
}
结果为:
0所对应的的值为1
1所对应的的值为4
2所对应的的值为6
3所对应的的值为34
4所对应的的值为12
5所对应的的值为0
法四:
var list=[1,2,3,4,5,6];
var arr=[];
for(var i of list){
arr.push(i);
}
document.write(arr); //1,2,3,4,5,6,
原因:
var list=[1,4,6,34,12,0]
for(var i of list){
// i直接为第几个元素对应的值
document.write(i+"<br>");
}
法五:
var list=[1,2,3,4,5,6];
var arr=[];
list.forEach(function(a){
arr.push(a)
})
document.write(arr);
原因:
var list = [11,2,3,18,9,4];
list.forEach(function(iteam,index){
// iteam,index为形参,一个时表示从头到尾对应的值,两个数时,第二个值为从头到尾对应的下标
document.write(iteam+"对应的下标为"+index+"<br>");
})
结果为:
11对应的下标为0
2对应的下标为1
3对应的下标为2
18对应的下标为3
9对应的下标为4
4对应的下标为5
法六:
var list=[1,2,3,4,5,6];
var arr=[];
list.map(function(a){
arr.push(a);
})
document.write(arr);
原因:
var list = [11,2,3,18,9,4];
list.map(function(a){
//a为形参,表示从头到尾对应的值
document.write(a+" "); //11,2,3,18,9,4
})
Array中的其他函数
var list = [11,2,3,18,9,4];
var flag=list.every(function(a){
return a>10;
})
document.write(flag); // false
every判断a 是否都满足return的条件 如果都满足结果就为true 只要有一个不满足 结果就位false
var list = [11,2,3,18,9,4];
var flag1=list.some(function(a){
return a>10;
})
document.write(flag1); //true
some判断a 是否满足return的条件 ,只要存在满足结果就为true ,全部不满足不满足 结果就位false
var list = [11, 2, 3, 18, 9, 4];
var newList=list.filter(function(iteam){
return iteam%2==0;
})
document.write(newList); //2,18,4
返回满足条件的元素 放到一个新的数组中
list.sort(function(a,b){
return a-b;
});
document.write(list); // 2,3,4,9,11,18
数组的排序sort,return a-b正序排列,return b-a倒序排列,
var list = [1, 2, 3, 4, 5];
var sum=list.reduce(function(a,b){
return a+b;
})
document.write(sum); 15
reduce所有数求和,将加号改为*时结果为120
slice截取数组中的值,例list.slice(2,5);截取的数组下标为2-4
var list = [1, 2, 3, 4, 5, 6];
var num = list.find(function(item){
return item%2 == 0;
})
document.write(num); //2
find找到满足条件的第一个数
var list = [1, 2, 3, 4, 5, 6];
var num = list.findIndex(function(item){
return item%2 == 0;
})
document.write(num); //1
findIndex找到满足条件的第一个数的下标