JavaScript基础总结(三)——数组总结

news/2025/3/22 1:54:42

关于JavaScript中的数组做出了如下总结:
1、数组是用来存储一组不同类型的数据的容器。可以使用构造函数的方法和字面量的方法来声明函数;访问数组通过下标的方法来访问;arr.length可以获得数组长度。
2、数组栈方法包括:

unshift():在数组头部插入值,返回值为数组长度
push():在数组末尾插入值,返回值为数组长度
shift():删除数组中第一个值,返回值为被删除的值
pop():删除数组中最后一个值,返回值为被删除的值

3、数组转字符串:

join("转换成字符的连接符,默认为逗号分开")

4、数组排序:

reverse()数值反序(例如下:var arr=[1,2,3];document.write(arr.reverse());输出值为:3,2,1)
sort()元素比较大小(比大小分两种情况,例1如下:        var arr=[5,2,3];var arrs=arr.sort();document.write(arrs);输出值为2,3,5;例2如下:var arr=[1,21,3,0];document.write(arr.sort());输出值为0,1,21,3;例2的比较大小是按第一个元素来比较的,正确升序应该为0,1,3,21,代码如下:var arr=[1,21,3,0];document.write(arr.sort(function (x,y){return x-y;})); 输入出值为:0,1,3,21;降序为:var arr=[1,21,3,0];document.write(arr.sort(function (x,y){return y-x;})); 输出值为21,3,1,0;)所以sort在对数组进行排序后,返回新数组,sort里可以接收一个匿名函数来对数组进行升序与降序

5、splice:具有删除、替换、插入功能

例如下:var arr=[1,2,3,5];//splice替换值,替换3var insertArr=arr.splice(2,1,"我是替换值");//返回被删除的值document.write(arr+"<br />");//输入结果为[1,2,我是替换值,5]//splice插入值,在3的后面插入值var replaceArr=arr.splice(3,0,"我是插入值");document.write(arr+"<br />");//[1,2,3,我是插入值,5 ]//splice删除值var delArr=arr.splice(2); //返回被删除的值document.write(arr+"<br />"); //[1,2]

6、arr.indexOf(必写的要查找的项,可选查找的起点的位置索引) 从数组的头部开始检测
arr.lastIndexOf(必写的要查找的项,可选查找的起点的位置索引) 从数组的尾部开始检测
例:

    var arr=[1,2,3,5,2,1,3];//数组头部开始检测元素2的位置var firstArr=arr.indexOf(2)console.log("数组中从前往后数第一个元素2的下标为"+firstArr); //输出值为1//数组尾部开始检测元素1的位置var lastArr=arr.lastIndexOf(1);console.log("数组中从后向前数第一个元素1的下标为"+lastArr); //输出值为5

7、常见的数组面试题如下:
1)数组去重

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body><script type="text/javascript">var arr=[1,2,3,1],//原数组newArr=[], //新数组flag;for(var i=0;i<arr.length;i++){//循环原数组flag=true;for(var j=0;j<newArr.length;j++){ //循环新数组if(newArr[j]==arr[i]){ //如果两个数组中有相同的数,flag为假flag=false;}};if(flag){ //如果flag为真newArr.push(arr[i]);//将arr[i]插入到新数组中}}document.write(newArr)</script></body></html>2)数组求和<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body><script type="text/javascript">//1.计算给定数组 arr 中所有元素的总和var arr=[1,2,3];function arryAnd(){var sum=0;//和的初始值for(var i=0;i<arr.length;i++){sum+=arr[i];//sum=sum+0+arr[i]依次类推}console.log(sum);}arryAnd();</script></body></html>
3)合并数组
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title></head><body><script type="text/javascript">//合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组var arr1=[1,2,3],arr2=[4,5,6],arr;function merge(){return arr1.concat(arr2)}console.log(merge());console.log(arr)</script></body>
</html>

4)将数组中某个数删除,以0为例

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title></head><body><script type="text/javascript">var arr=[0,2,3,0,5,0],//旧数组newArr=[];for(var i=0;i<arr.length;i++){ //循环新数组if(arr[i]==0) continue;newArr.push(arr[i]);}console.log(newArr);</script></body>
</html>
5)switch星期的获取
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title></head><body><script type="text/javascript">//获取星期的方法var week=new Date().getDay();console.log(week);//返回number,0-6switch(week){case 0:document.write("星期日");break;case 1:document.write("星期一");break;case 2:document.write("星期二");break;case 3:document.write("星期三");break;case 4:document.write("星期四");break;case 5:document.write("星期五");break;case 6:document.write("星期六");break;//或最后一天如下所示:
//            default:
//            document.write("星期六");}</script></body>
</html>

https://dhexx.cn/news/show-330627.html

相关文章

Perl快捷删除数组重复元素

以前写过类似的博客&#xff1a; http://blog.csdn.net/three_man/article/details/34084361 今天拿出来&#xff0c;再好好剖析一下&#xff1a; 1. 构造一个含有重复元素的数组 my arr1 (1 .. 10); my arr2 (5 .. 15);# join multi array my arr (arr1, arr2); 2. 删除数…

时间稍纵即逝,好久不见~ [QQ群均已解散,暂只保留UE4群]

好久不见了&#xff0c;各位&#xff1b; 一转眼又两年多过去了&#xff0c;时间过的真是飞快.. 创业还是两个字&#xff1a;很忙&#xff0c;忙成“马”了&#xff01; 忙的自己的 himigame 博客也没时间管理&#xff0c;QQ群也在今天均解散掉了&#xff5e; 只保留了 【Unre…

简易脚手架1.0及使用说明

2019独角兽企业重金招聘Python工程师标准>>> 1、下载simArcheType源码,并install到本地仓库&#xff1b; 2、新建本地目录E:\tmp,cmd到该目录下&#xff0c; mvn archetype:generate -DinteractiveModefalse -DarchetypeGroupIdcom.fastjrun -DarchetypeArtifactIds…

大数据平台处理消息架构

2019独角兽企业重金招聘Python工程师标准>>> 转载于:https://my.oschina.net/zhiyonghe/blog/3007353

Active Directory权限委派(1)

在管理一个比较大的环境的时候&#xff0c;我们通常会将一些权力委派给其他人来做&#xff0c;已达到减轻自己负担的目的&#xff0c;比如委派给部门经理&#xff1b;我所演示的也只有一个秘密重置的权限&#xff0c;至于其他的权限&#xff0c;委派的方法也是一样的&#xff0…

胶片曝光时的排版

转自&#xff1a;http://www.cnblogs.com/assassinx/archive/2013/05/27/3097124.html 这个本来没啥 不是什么算法 绝技。 都不值得一提。 其实这个是医学影像胶片曝光时排版的一个逻辑。 dicom标准第三部分 主要是讲IOD定义 在第166页有这样的描述&#xff1a;表C.13.5-1图象盒…

1-1 sacc(scss)入门

定义&#xff1a; CSS 预处理器定义了一种新的语言&#xff0c;其基本思想是&#xff0c;用一种专门的编程语言&#xff0c;为 CSS 增加了一些编程的特性&#xff0c;将 CSS 作为目标生成文件&#xff0c;然后开发者就只要使用这种语言进行编码工作。 通俗的说&#xff0c;“CS…

清理ios项目无用的图片资源

项目经过需求的变更&#xff0c;产品迭代&#xff0c;再多次的改版之后&#xff0c;有些不再使用的图片不一定能够及时的清理掉&#xff0c;这些无用的图片一方面让项目图片资源的结构更加的复杂&#xff0c;另一方面会导致ipa包的体积变大。 及时的清理掉不用的图片资源很有必…

Linux环境下安装 ElasticHD

ElasticHD Linux环境下安装教程 ElasticHD windows环境下安装教程 上一篇讲了ElasticHD windows环境下安装&#xff0c;这一篇继续说明ElasticHD Linux环境下安装&#xff0c;有了安装windows版本下错版本的经验&#xff0c; 这次我们直接定位到程序下载页面&#xff0c;选择对…

ftp和mysql数据库结合使用

问题描述&#xff1a; 看下 1.1.1.1 的ftp为什么连不上报错的信息: ftpServer > 1.1.1.1, // FTP服务器地址 ftpPort > 21, ftpUsername > admin.was.chinasoft.com, // FTP账号 ftpPassword > ftp_pass, 报错信息&…