5.javascript中的数组
javascript中的数组
var arr = [,,]
console.log.(arr.length);//2 自动忽略第二个逗号
var arr= [1,2,3,4,5,6];
arr.length = 3;
console.log(arr);//[1,2,3]重新设置数组长度,也可以起到删除后续项的效果
push()函数: 向数组的末尾添加函数
pop()函数: 在数组的末尾删除元素
unshift()函数: 在数组的首部添加元素
shift()函数:在数字的首部删除元素
var arr= [1,2,3,4,5,6];
arr.push(7);
console.log(arr);//[1,2,3,4,5,6,7]
delete()函数:删除数组中的元素(不改变数组长度)
var arr= [1,2,3,4];
delete(arr[0]);
console.log(arr.length);//4
遍历数组
//for循环遍历(下标连续)
for(var i = 0; i <= arr.length; i++){
console.log(arr[i]);
}
//for in 遍历(下标不连续)
for(var i in arr){
console.log(arr[i]);
}
//forEach()函数遍历
arr.forEach(fuction(x){
console.log(x);
})
常用函数
join()函数: 将数组中的元素以指定符号连接
reverse()函数: 将数组反转
sort()函数: 排序函数
concat()函数:连接两个数组
slice()函数:返回数组中的某一段
map()函数:给原数组的每个元素都调用一次callback函数
filter()函数:过滤数组中的元素
reduce()函数:将上一轮回调函数的返回值作为值调用
every()函数:判断数组中的值是否满足条件,返回true/false
some()函数:判断数组中的某些值是否满足条件,返回true/false
indexOf()与lastIndexOf():返回某个元素的第一次/最后一次出现的索引
//join()函数
var arr = ['a','b','c','d'];
var res = arr.join(',');//括号内为指定连接符号
console.log(res);//a,b,c,d
//reverse()函数
res = arr.reverse();
console.log(res);//['d','c','b','a']
//sort()函数
var arr = ['a','b','c','A','B','C'];
arr.sort();//默认按unicode排序,不是按照数值的大小
console.log(arr);//['A','B','C','a','b','c']
var arr = [1,2,11,20,3,45]
arr.sort();
console.log(arr);//[1, 11, 15, 2, 20, 3]没有按照数值大小排序
arr.sort(function(a,b){
return a-b;
});
console.log(arr);//[1, 2, 3, 11, 15, 20],自定义从小到大排序
//concat()函数
var arr = [1,2];
res = arr.concat(3,4);
console.log(res);//[1, 2, 3, 4]
//slice()函数
var arr = [1,2,3,4];
res = arr.slice(0,3);//起始位置,返回数组个数(如果输入为负值则代表位置)
console.log(res);//[1,2,3]
//map()函数
var arr = [1,2,3,4];
res = arr.map(function(x){
return x + 1;
})
console.log(res);//[2,3,4,5]
//通过匿名函数形式
res = arr.map(Trans);
function Trans(x){
return x+1;
}
//filter()函数
var arr = [1,2,11,20,3,45];
res = arr.filter(function(x){
return x <= 10;
})
console.log(res);//[1,2,3]
//reduce()函数,arr.reduce(callback,[initialValue]),初始值可以不填
var arr = [1,2,3,4];
res = arr.reduce(function(a,b){
return a + b;
})
console.log(res);//10,返回1+2+3+4(如果有初始值就再加上初始值)
//every()函数与some()函数
var arr = [1,2,11,20,3,45];
res = arr.every(function{
return x>=18;
})
console.log(res);//false
res = arr.some(function{
return x>=18;
})
console.log(res);//true

浙公网安备 33010602011771号