JavaScript中数组操作比较灵活,关于js中数组操作,写了一些数组操作代码,并在浏览器控制台验证。以下是js代码:
<script type="text/javascript">
console.log("---------------JavaScript数组相关实现---------------")
//数组创建,js中数组是弱类型,数组中可含有不同类型的元素,甚至可以是对象或其他数组;
console.log("数组创建");
var BAT=['Alibaba','Tencent','Baidu'];
var students=[{name:'Cindy',age:18},{name:'Lucy',age:19},{name:'Lily',age:20}];
var arrB=['Jerk','Linux','Boolean',true,null,123];
var arrA=[[1,2],[3,4,5]];
console.log(arrA[1][0]+" "+arrA[1][1]+" "+arrA[1][2]);
//数组增删元素;
console.log("数组增删元素");
var arr=[];
arr[0]=1;
arr[1]=2;
arr.push(3);//数组尾部增加元素;
arr[arr.length]=4;//尾部增加元素;
console.log(arr);
arr.unshift(0);//数组头部添加元素;
console.log(arr);
delete arr[2];
console.log(arr);
arr.length-=1;//删除最后一个元素;
console.log(arr);
arr.pop();//删除最后一个元素;
console.log(arr);
arr.shift();//头部删除元素;
console.log(arr);
//数组方法:
console.log("数组的一些方法验证");
var arr=[1,2,3];
console.log(arr.join());//将数组转换为字符串,默认以逗号连接;
console.log(arr.join("-"));
console.log(arr.reverse());//将数组逆序排列,原数组并未改变;
console.log(arr.sort());//数组排序,原数组被修改;
arr.sort(function(a,b){
return b-a; //数组升序排序,原数组被修改;
})
console.log(arr);
console.log("concat方法验证");
console.log(arr.concat(4,5));//concat,数组合并,原数组并未被修改;
console.log(arr);
console.log(arr.concat([4,[5,6]]));
console.log("slice及splice方法验证");
arr=[1,2,3,4,5,6];
console.log(arr.slice(1,3));//slice左闭右开,返回部分数组;不会修改原数组;
console.log(arr.slice(2,-1));//从索引为2到倒数第二个元素;
arr.splice(2);//从索引为2处删除;数组被改变;
console.log(arr);
arr=[1,2,3,4,5];
arr.splice(2,2);//从索引为2处开始,删除2个元素;
console.log(arr);
arr=[1,2,3,4,5];
arr.splice(2,1,"a",'b');//删除一个元素,增加两个元素;
console.log(arr);
console.log("map映射");
arr=[1,2,3];
//map映射,数组未被改变;
console.log(arr.map(function(x){
return x*2;
}));
console.log(arr);
console.log("filter过滤");
//filter数组过滤;
console.log(arr.filter(function(x){
return x>1;
}));
console.log(arr);
console.log("every,some数组判断");
//every(&&),some(||)数组判断;
console.log(arr.every(function(x){
return x<2;
}))
console.log(arr.some(function(x){
return x<2;
}))
//reduce对数组中元素两两操作,reduceRight从右往左操作;
console.log("reduce数组两两操作");
arr=[1,2,3];
var sum=arr.reduce(function(x,y){
return x+y;
},100);//((100+1)+2)+3;
console.log(sum);
//indexOf数组查找索引值;
console.log("indexOf数组查找索引值");
arr=[1,2,3,4,5,2];
console.log(arr.indexOf(2));
console.log(arr.indexOf(2,1));//从索引值1处开始查找,查找2所在位置的索引值;
console.log(arr.lastIndexOf(2));//从右往左找;
console.log(arr.lastIndexOf(2,-2));
</script>>
以下是console验证结果:
可以根据数组操作代码对应控制台验证结果,体会js中有关数组的操作。