JavaScript 基础回顾——数组
JavaScript是无类型语言,数组元素可以具有任意的数据类型,同一个数组的不同元素可以具有不同类型。数组的元素设置可以包含其他数组,便于模拟创建多维数组。
1.创建数组
在JavaScript中,创建数组可以使用两种方式
(1)使用 "[]" 创建。
<script type="text/javascript">
var arr=[]; //创建空数组
var arr=['北京',0,true,'上海','代码里','www.daimali.com']; //创建带初始值的数组
</script>
(2)使用 new 关键字创建数组对象 Array()。
在JavaScript 1.1 版本之后,一般使用 new 关键字
<script type="text/javascript">
var arr=new Array(); //创建空数组
var arr=new Array('北京',0,true,'上海','代码里','www.daimali.com'); //创建带初始值的数组
</script>
2.数组元素
JavaScript中数组的元素可以是任何类型的数据。
(1)数组长度。
JavaScript数组的长度是可变的,可以通过Length属性获得。
<script type="text/javascript">
var a=new Array(); //创建空数组
var b=new Array('北京',0,true,'上海','代码里','www.daimali.com'); //创建带初始值的数组
a.Length //长度为0
b.Length //长度为6
</script>
(2)访问数组元素
JavaScript中访问数组的元素使用 [] 运算符,可以通过下标和关键字访问。遍历数组的元素可以使用循环语法或for..in语句。
<script type="text/javascript">
var arr=new Array('北京',0,true,'上海','代码里','www.daimali.com'); //创建带初始值的数组
writeln('第一个元素值为:'+arr[0]);//输出 北京
</script>
for...in
for(i in arr)
{
document.writeln('元素值为:'+arr[i]); //遍历输出数组值
}
3.多维数组
JavaScript中本来没有多维数组,但数组元素可以是任何类型的数据甚至另一个数组,可以非常方便的模拟多维数组。
(1)使用 new Array()创建多维数组
<script type="text/javascript">
var array1; var array2;
function createArr()
{
var one = new Array(3);
for(var i=0; i<one.length; i++)
{
one[i] = new Array(4);
for(var j=0;j< one[i].length; j++)
{
one[i][j] =(i+1) * (j+1);//为数组元素赋值
}
}
return one;// 返回创建的多维数组
}
</script>
(2)使用 [] 创建多维数组
array1=[ [1,2,3] , [5,8,9] , [7,'北京',8] ] //就是这么简单...
获取值得方式也简单: array1[0][1] => 1,
array1[0][2] => 2,
array1[2][1] => 北京
4.数组排序
在JavaScript中,数组可以直接使用Array对象的sort()方法,该方法允许传递一个排序函数作为参数。不过不传递参数,则按照 ASCII 字符顺序升序排序;否则,传递给该方法的函数必须返回负数,0 或正数,返回值表示相邻两个元素的比较结果,sort()方法按照比较结果排序。
<script>
var a= Array(10,215,324,3,1254,300);
a.sort(); //不传递参数 排序结果是: 10,215,324,3,1254,300
function sortfun(one, two)
{
return one - two;
}
a.sort(sortfun); //传递函数作为参数 排序结果为:3,10,215,300,324,1254
</script>
来源:代码里
链接:http://www.daimali.com/index.php/2016/04/28/335/
JavaScript 基础回顾——数组的更多相关文章
- Javascript基础回顾 之(三) 面向对象
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(二) 作用域
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(一) 类型
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- JavaScript 基础回顾——对象
JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...
- JavaScript基础回顾一(类型、值和变量)
请看代码并思考输出结果 var scope = 'global'; function f(){ console.log(scope); var scope = 'local'; console.log ...
- javascript基础知识-数组
1.javascript创建数组时无需声明数组大小或者在数组大小变化时重新分配 2.javascript数组是无类型的 3.数组元素不一定要连续 4.针对稀疏数组,length比所有元素的索引都要大 ...
- JavaScript基础——使用数组
Array对象提供存储和处理一组其他对象的一种手段.数组可以存储数值.字符串或其他JavaScript对象.创建JavaScript数组有几种不同的方法.例如,下面的语句穿件同样的驻足的3个相同的版本 ...
- JavaScript基础回顾
1, NaN 不是数字 Infinity 无穷大 alert(parseInt("dd")); //NaN alert(1/0); //Infinity 2, 逻辑或 || ,返 ...
- JavaScript 基础(二)数组
字符串, JavaScript 字符串就是用'' 和""括起来的字符表示. 字符字面量, \n 换行, \t 制表, \b 退格, \r 回车, \f 进纸, \\ 斜杠,\' 单 ...
随机推荐
- SqlServer切换MySql总结
最近项目任务不多就琢磨着把SqlServer换成MySql(数据访问使用的ado.net),初步想了下方案有2种: 方案一:继续使用ado.net,重写所有的sql语句 优势:数据访问效率高,改写Sq ...
- javascript关于继承
上一篇已介绍了组合继承,现在讲讲剩余的几种继承. 原型式继承 调用一个函数,接收这个函数返回来的对象,这个对象的原型就是传入函数的参数对象. 如: function personObject(o){ ...
- #9.5课堂JS总结#循环语句、函数
一.循环语句 1.for循环 下面是 for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块) ...
- table tr foreach td 换行
@{ ;} <table style=" class="sy_table"> <tr> @foreach (DataRow dr in (View ...
- 好用的第三方控件,Xcode插件(不断更新)
第三方控件类: 1.提示框 MBProgressHUD: 是一款非常强大的.提供多种样式的提示框.使用起来简单.方便.可以在GitHub上查看具体的使用方法. https://github.com ...
- 基于Tomcat的Solr3.5集群部署
基于Tomcat的Solr3.5集群部署 一.准备工作 1.1 保证SOLR库文件版本相同 保证SOLR的lib文件版本,slf4j-log4j12-1.6.1.jar slf4j-jdk14-1.6 ...
- 实用控件分享:自定义逼真相机光圈View
最近手机界开始流行双摄像头,大光圈功能也应用而生.所谓大光圈功能就是能够对照片进行后期重新对焦,其实现的原理主要是对拍照期间获取的深度图片与对焦无穷远的图像通过算法来实现重新对焦的效果. 在某双摄手机 ...
- Project、Target、Workspace and Scheme
前言 今天有人问我Target和Project是什么关系?额...学习iOS开发都知道Target和Project的关系.这里我就简单的做了一个总结,而且加入的Scheme和Workspace.如果不 ...
- Shou 团队诚意满满的招募 Swifter
一.团队介绍 团队产品 VPlayer 播放器靠自增长 3 年内获得全球 4000 万用户,开发的 Vitamio 组件更是获得微博.UC.金山等知名企业授权使用.—— 团队再次起航,经历一年多我们已 ...
- iOS开发之功能模块--用runtime给UIView类别拓展PressMenu工具
这是个很有用的列别工具类,在聊天对话框添加和QQ一样的"复制.粘贴.取消"等选项,而且使用起来很方便,只要找到聊天泡泡内部的某个View,比如Label或者背景冒泡的UIImage ...