括号里有一个数字 n,则这个数字代表了数组的长度为 n,里面有 n 个空的元素
var arr2=new Array(2); //2代表数组长度为2,里面有2个空的数组元素
console.log(arr2);
括号里有两个或两个以上数字时,就代表了数组元素,不再代表数组长度
var arr3=new Array(1,2); //代表数组元素为1,2,等同于字面量创建[1,2]
console.log(arr3);
二:判断是否为数组
判断是否为数组有两种方式,instanceof 和 Array.isArray( 参数 ),两者判断方法均为如果是数组则返回 true,不是数组则返回 **false,**其中第二个方法为H5新增加的方法
var arr=[];
var obj={};
console.log(arr instanceof Array); //true
console.log(obj instanceof Array); //false
console.log(Array.isArray(arr)); //true
console.log(Array.isArray(obj)); //false
三:数组元素的增加和删除
数组元素的增加和删除分别有两个方法,增加有 push(),unshift(),删除有 pop(),shift(),下面对这四个方法一一讲解
**push( 参数1,参数2… ):有参数,**在数组的最后一个位置添加,参数为新添加的元素(可以为多个元素),如果返回该方法,返回值为新数组的长度
var arr=[1,2,3,4,5,6];
console.log(arr.push(7,8,9,‘小明’,‘小华’)); //返回值为新数组的长度
console.log(arr);
**unshift( 参数1,参数2…):****有参数,****在数组最前面的位置添加新元素,**参数为新添加的元素(可以为多个元素),如果返回该方法,返回值为新数组的长度
var arr=[1,2,3,4,5,6];
console.log(arr.unshift(0,‘小明’,‘小华’)); //返回值为新数组的长度
console.log(arr);
**pop():**无参数,删除数组的最后一个元素,一次只能删一个元素,数组长度减1,如果返回该方法,返回值为被删掉的元素
var arr=[1,2,3,4,5,6];
console.log(arr.pop()); //返回值为被删掉的元素
console.log(arr);
**shift():**无参数,删除数组的第一个元素,一次只能删一个元素,数组长度减1,如果返回该方法,返回值为被删掉的元素
var arr=[1,2,3,4,5,6];
console.log(arr.shift()); //返回被删掉的元素
console.log(arr);
四:筛选数组的改进
在之前学习数组时,我们经常会遇到一些筛选数组的案例,但是学习了上面的四种方法,对于这类问题又可以得到一个升华。
例如:要求我们筛选出一个数组中大于100的数,删掉小于100的数
在以前的数组基础中,我们可以得到这样的代码:
var arr=[102,98,65,152,34,99,187,256,139,74,112,35];
var newarr=[];
for(var i=0;i<arr.length;i++){
if(arr[i]>100){
newarr[newarr.length]=arr[i]; //这是我们常规的写法
}
}
console.log(newarr);
但是学过了 push() 方法,我们就可以利用此方法解决上述问题,更为直观:
var arr=[102,98,65,152,34,99,187,256,139,74,112,35];
var newarr=[];
for(var i=0;i<arr.length;i++){
if(arr[i]>100){
newarr.push(arr[i]); //改进代码,更为直观清晰
}
}
console.log(newarr);
五:数组的翻转与排序
对于数组的翻转与排序,我们都知道可以通过 for循环,冒泡排序,选择排序 来实现,但是在Array对象中,给好了方法可以直接使用,分别是反转数组的方法 reverse() 和排序的方法 sort()
**reverse():**无参数,数组可直接使用
var arr=[1,2,3,4,5,6,7,8,9];
console.log(arr.reverse()); //结果为9,8,7,6,5,4,3,2,1
**sort():**这个的情况略微有些复杂,如果直接使用的话只能排序数组内10以内的数,要想自定义升序排序并且不受数字大小限制,需要在该方法中写入一个函数作为参数(*固定使用牢记即可*)
升序的参数:
function(a,b){
return a-b ;}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
最后
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
https://i-blog.csdnimg.cn/blog_migrate/b9941b5190412b98bb1ba5c6c54c5274.jpeg" alt=“img” style=“zoom: 33%;” />
最后
[外链图片转存中…(img-Ljvnmdh6-1712108692140)]
[外链图片转存中…(img-zv2rVGrN-1712108692140)]
[外链图片转存中…(img-dgk2yigG-1712108692140)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!