JavaScript学习随记——数组一

数组的创建及length属性

		<script type="text/javascript" charset="utf-8">// 数组创建方式一,此种方式写的时候比较麻烦var arr=new Array();// 数组创建方式二var arr= [1,2,3,4,true,'str',new Date()];console.log("arr.length:"+arr.length);console.log(arr);arr.length=5;		// 指定组数长度后,数组长度以外的元素则会被裁减掉console.log("arr.length:"+arr.length+"  ,arr:"+arr);	console.log(arr[6]);/************************* 运行结果 *************************arr.length:7[1, 2, 3, 4, true, "str", Date {Thu Oct 15 2015 00:08:43 GMT+0800}]arr.length:5  ,arr:1,2,3,4,trueundefined**********************************************************/</script>
注意:数组的使用时注意如果指定了数据的长度的,则数组长度外的元素会被裁减掉(内存中被干掉)。

数组的 push 和 pop 方法

		<script type="text/javascript" charset="utf-8">/***  数组的 push 和 pop 方法*  和数据结构中的栈(先进后出)的操作一样,推入,压出*/var arr=[];arr.push(4); //推入arr.push(3,2);arr.push(2);var returnVal=arr.push(true);	//返回值为新数组的长度arr.push(new Date())console.log(returnVal);console.log("arr.length: "+arr.length);console.log("arr: "+arr);arr.pop();	// 从数组尾部删除一个元素,返回值为移出的元素值console.log("arr.length: "+arr.length);console.log("arr: "+arr);/************************* 运行结果 *************************5arr.length: 6arr: 4,3,2,2,true,Thu Oct 15 2015 00:14:23 GMT+0800arr.length: 5arr: 4,3,2,2,true**********************************************************/</script>


注:pop() 和 push()对数据的操作是从数组的后面进行操作,与 shift () 和unshift() 操作位置正好相反(在数组的前面前面进行相应的移出和插入操作)。


数组的 shift 和 unshift 方法

			<script type="text/javascript" charset="utf-8">/*** shift 和 unshift 方法* shift: 从数组前移出元素* unshift: 从数组前插入*/var arr=[3,5,7,true,new Date(),undefined,null];console.log("[操作前]: "+arr);var r1=arr.shift();console.log(arr);console.log(r1);var r2=arr.unshift(0);console.log(arr);console.log(r1);/************************* 运行结果 *************************[操作前]: 3,5,7,true,Thu Oct 15 2015 00:20:43 GMT+0800,,[5, 7, true, Date {Thu Oct 15 2015 00:20:43 GMT+0800}, undefined, null]3[0, 5, 7, true, Date {Thu Oct 15 2015 00:20:43 GMT+0800}, undefined, null]3**********************************************************/</script>


数组的 splice(拼接、接合) 和 slice方法

			<script type="text/javascript" charset="utf-8">/*** splice(拼接、接合) 和 slice(切开、切下)方法* * splice(arg1,arg2,arg3...): 从arg1处截掉arg2个元素,再将arg3...之后的元素追加在截断的位置* 			arg1:操作的起始位置,从0开始* 			arg2:截掉元素个数* 			arg3:追加的元素* 			... :追加的元素* 可以理解为子元素的替换,将arg1处开始后连续arg2个元素替换成 arg3、arg4、、、* * slice(startIndex,endIndex):截取并返回数组中索引从startIndex 到 endIndex的元素(左闭右开区间,不影响别操作的对象),类似于高级语言中的字符串求子串;* * 区别:splice 操作会影响操作的对象,slice则不会影响操作的对象* */var arr=[0,1,2,3,4,5,6,7,8];console.log("[操作前]: "+arr);var r1=arr.splice(1,2,33,44,55,88,99);		//返回值为截掉的元素console.log("[操作返回值]: "+r1);					//Array [ 1, 2 ]console.log("[操作后]: "+arr);		//Array [ 0, 33, 44, 55, 88, 99, 3, 4, 5, 6, 7, 8 ]var arr=[0,1,2,3,4,5,6,7,8];console.log("[操作前]: "+arr);var r2=arr.splice(2,4);		//从第2个索引位置开始截去4个元素,截取范围是左闭右开区间console.log("[操作返回值]: "+r2);			//Array [ 2, 3, 4, 5 ]console.log(arr);			//Array [ 0, 1, 6, 7, 8 ]var arr=[0,1,2,3,4,5,6];console.log("[操作前]: "+arr);		//[操作前]: 0,1,2,3,4,5,6var result=arr.slice(2,5);			//索引从2到5左闭右开区间的元素值,对被操作的对象无影响console.log("[操作返回值]: "+result);	//[操作返回值]: 2,3,4console.log("[操作后]: "+arr);		//[操作后]: 0,1,2,3,4,5,6/************************* 运行结果 *************************[操作前]: 0,1,2,3,4,5,6,7,8[操作返回值]: 1,2[操作后]: 0,33,44,55,88,99,3,4,5,6,7,8[操作前]: 0,1,2,3,4,5,6,7,8[操作返回值]: 2,3,4,5[0, 1, 6, 7, 8][操作前]: 0,1,2,3,4,5,6[操作返回值]: 2,3,4[操作后]: 0,1,2,3,4,5,6**********************************************************/</script>



数组的 concat 和 join方法

			<script type="text/javascript" charset="utf-8">			/*** concat : 数组拼接* 注意:concat方法并不影响被操作对象本身* * join : 数组元素之间加入相应的连接元素然后返回最终的结果* 注意:join 方法也不影响被操作对象本身* */var arr1=[1,2,3];var arr2=[4,5,6];var result = arr1.concat(arr2);console.log("arr1: "+arr1);		//arr1: 1,2,3console.log("arr2: "+arr2);		//arr2: 4,5,6console.log("arr1.concat(arr2): "+result);		//arr1.concat(arr2): 1,2,3,4,5,6var arr1=[1,2,3];var result = arr1.join('-');console.log("arr1: "+arr1);		//arr1: 1,2,3console.log("arr1.join('-'): "+result);		//arr1.concat(arr2): 1-2-3console.log("arr1[2]: "+arr1[2]);			//3/************************* 运行结果 *************************arr1: 1,2,3arr2: 4,5,6arr1.concat(arr2): 1,2,3,4,5,6arr1: 1,2,3arr1.join('-'): 1-2-3arr1[2]: 3**********************************************************/</script>


数组的 sort 方法

			<script type="text/javascript" charset="utf-8">					/*** sort(): 将数组类元素进行排序,排序方式是类似字典排序的方式来进行相应的排序,而不是按数学的由小到大排序* 注意:排序后影响被操作对象*/var arr1=[1,7,5,3,10];console.log("[操作前]:"+arr1);			//[操作前]:1,7,5,3,10var result1=arr1.sort();console.log("[操作结果]:"+result1);		//[操作结果]:1,10,3,5,7console.log("[操作后]:"+arr1);			//[操作后]:1,10,3,5,7/************************* 运行结果 *************************[操作前]:1,7,5,3,10[操作结果]:1,10,3,5,7[操作后]:1,10,3,5,7**********************************************************/</script>


数组的 reverse方法

			<script type="text/javascript" charset="utf-8">	/*** reverse(): 是将数组顺序颠倒过来*/var arr2=[5,1,8,3,5];					console.log("[操作前]:"+arr2);var result2=arr2.reverse();				//[操作前]:5,1,8,3,5console.log("[操作结果]:"+result2);		//[操作结果]:5,3,8,1,5console.log("[操作后]:"+arr2);			//[操作后]:5,3,8,1,5/************************* 运行结果 *************************[操作前]:5,1,8,3,5[操作结果]:5,3,8,1,5[操作后]:5,3,8,1,5**********************************************************/</script>


案例一:实现对数组的数学排序

			<script type="text/javascript" charset="utf-8">		/*** 数学排序* 实现:对sort()方法给指定一个排序方式即可*/var arr1=[1,7,5,3,10];// 比较器function compare(var1,var2){if(var1<var2){return -1;}else if(var1>var2){return 1;}else{return 0;}}arr1.sort(compare);console.log(arr1);	// Array [ 1, 3, 5, 7, 10 ]/************************* 运行结果 *************************[1, 3, 5, 7, 10]**********************************************************/</script>

以上代码的运行环境均是Firfox,输出结果到console中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373695.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

USACO milk4 枚举答案再检验

刚开始写了一个暴力的dfs超时了&#xff0c; 最后看了下题解说是先枚举答案再判断&#xff0c;然后就写了双dfs&#xff0c;全部秒杀&#xff0c;代码如下&#xff1a; /*ID: m1500293LANG: CPROG: milk4 */ #include <cstdio> #include <cstring> #include <al…

微信小程序常见问题集合(长期更新)

最新更新&#xff1a; 新手跳坑系列&#xff1a;推荐阅读&#xff1a;《二十四》request:fail错误&#xff08;含https解决方案&#xff09;&#xff08;真机预览问题 跳坑指南《七十》如何让微信小程序服务类目审核通过跳坑六十九&#xff1a;uploadFile:fail Error: unable t…

mysql指令按顺序排列_mysql基本语法大全

1.备份数据库&#xff1a;1.1备份数据库中的表:mysqldump -u root -p test a b >d:\bank_a.sql//分别备份数据库test下a和b表1.2备份一个数据库mysqldump -u root -p test > d:\testbk.sql1.3备份多个数据库mysqldump -u root -p --databases test mysql > D:\data.sq…

Spring和石英:多作业计划服务

作业调度对于应用程序来说是如此重要。 尤其是在大型项目中&#xff0c;处理大量工作可能是一个问题。 Spring和Quartz为解决该问题带来了巨大的好处。 本文介绍了如何通过使用Spring和Quartz轻松地计划多个作业。 二手技术&#xff1a; JDK 1.6.0_21 春天3.1.1 石英1.8.5 M…

JavaScript学习随记——数组二

数组indexOf(arg) 和 lastIndexOf(arg)方法使用 <script type"text/javascript" charset"utf-8">/*** indexOf(arg):返回指定参数在数组中的索引位置&#xff08;从前往后查&#xff0c;比较是使用 ‘’&#xff0c;查询到立即返回索引位置&#xff…

反射的简单应用

首先有一个类 1 using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Text;5 using System.Threading.Tasks;6 7 namespace ConsoleApplication18 {9 public class demo 10 { 11 public string name "程序员"; 12…

JavaFX 2.0示例介绍书

我最近完成了有关JavaFX 2.0 SDK新版本的书的编写&#xff0c;并且已经将它放在您附近的书店&#xff08; Amazon &#xff09;的书架上。 该书将逐步指导您完成JavaFX 2.0的来龙去脉。 当您遇到一章时&#xff0c;将看到一些菜谱&#xff0c;这些菜谱将带来一个问题&#xff0…

双纵坐标的绘图命令_工程师绘图必备软件——OriginLab 2019b

点击右上角关注&#xff0c;尽享后续精品软件OriginLab 2019b是OriginLab OriginPro 2019版本的加强版&#xff0c;这个软件对于许多人来讲并不陌生&#xff0c;可以说是科学家和工程师的绘图必备软件。新的版本也带来许多改变&#xff0c;软件拥有多种功能&#xff0c;这个版本…

JavaScript学习随记——对象

JS中对象基本使用 <script type"application/javascript" charset"utf-8">//Objcet 所有类的基础类/*** 创建对象方式一*/ // var objnew Objcet();/** 创建对象方式二,注意 {}不可忘记写* */var obj {};obj.name "什码情况";obj.age …

[转]Java_List元素的遍历和删除

原文地址:http://blog.csdn.net/insistgogo/article/details/19619645 1、创建一个ArrayList [java] view plainList<Integer> list new ArrayList<Integer>(); 2、List常用的遍历方法有三种&#xff1a; &#xff08;1&#xff09;下标循环 [java] view plainfo…

分层设计 --java中的几种包

对于刚接触包分层的同学&#xff0c;下面简单介绍一下java中各个层次&#xff1a; Modle 模型层 &#xff1a;存放你的实体类 dao&#xff1a;主要做数据库的交互工作&#xff0c;具体的增删改查等方法&#xff0c;操作数据库的&#xff1b;这里也可以存放查询所有的信息接口 …

Spring远程支持和开发RMI服务

Spring远程支持简化了启用远程服务的开发。 当前&#xff0c;Spring支持以下远程技术&#xff1a;远程方法调用&#xff08;RMI&#xff09;&#xff0c;HTTP调用程序&#xff0c;Hessian&#xff0c;Burlap&#xff0c;JAX-RPC&#xff0c;JAX-WS和JMS。 远程方法调用&#xf…

cesium绘制网格_Cesium学习笔记-工具篇37-风场绘制

这两天重新接触到流场&#xff0c;于是研究下&#xff0c;在大牛们的轮子上也算实现了效果&#xff1a;1二维2三维主要参考以下三篇文章&#xff1a;《WebGL风向图》给出制作风向图通常步骤&#xff1a;1. 在屏幕上生成一系列随机粒子位置并绘制粒子。2. 对于每一个粒子&#x…

ToString:身份哈希码的十六进制表示形式

我以前在方便的Apache Commons ToStringBuilder上写过博客&#xff0c;最近有人问我&#xff0c;在生成的String输出中出现的看似神秘的文本是什么构成的。 询问该问题的同事正确地推测出他正在查看的是哈希码&#xff0c;但与他实例的哈希码不匹配。 我解释说ToStringBuilder将…

HTML+CSS笔记 CSS中级 缩写入门

盒子模型代码简写回忆盒模型时外边距(margin)、内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的&#xff1a;上右下左。语法:margin:10px 15px 12px 14px;/*上设置为10px、右设置为15px、下设置为12px、左设置为14px*/通常有三种缩写的方法:1、…

JavaScript学习随记——常见全局对象属性及方法

<script type"text/javascript" charset"utf-8">//全局对象&#xff1a; Object、Array、Math等/*** 全局的方法&#xff1a;* 1.encodeURI、escape、decodeURIComponet 编码* 2.decodeURI、unescape、encodeURIComponet 解码* 3.parseInt、parseF…

spring boot 定时任务

package com.ict.conf; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled;Configuration EnableScheduling // 启用定时任务 …

搬运机器人举杯贺所需的条件_智能搬运机器人比赛规则

附件4&#xff1a;分拣机器人(智能搬运机器人)比赛规则1、比赛目的设计一个轮式或人形小型机器人&#xff0c;在比赛场地里移动&#xff0c;将不同颜色、形状或者材质的物体分类搬运到不同的对应位置。比赛的记分根据机器人将物体放置的位置精度和完成时间来决定分值的高低。它…

我们多么想要新的Java日期/时间API?

当前的Java.net 民意测验问题是&#xff1a;“ 对于用Java 8实现的JSR-310&#xff08;新的日期和时间API&#xff09;有多重要&#xff1f; ”在我撰写本文时&#xff0c;将近150位受访者投了赞成票&#xff0c;绝大多数人回答“非常”&#xff08;53&#xff05;&#xff09;…

JavaScript学习随记——Function

每个函数都是Function类型的实例&#xff0c;而且都与其他引用类型一样具有属性和方法。由于函数是对象&#xff0c;因此函数名实际上也是一个指向函数对象的指针&#xff0c;不会于某个函数绑定。 函数的定义方式 <script type"text/javascript" charset"ut…