Javascript 对象 - 数组对象
JavaScript核心对象
- 数组对象Array
- 字符串对象String
- 日期对象Date
- 数学对象Math
数组对象
数组对象是用来在单一的变量名中存储一系列的值。数组是在编程语言中经常使用的一种数据结构,可以用来存储一系列的值,在JavaScript中同一数组中可以存储不同数据类型的数据。
1.创建数组
- 创建一个大小为的数组
var array = new Array();
- 创建一个大小为size的数组
var array = new Array(size);
- 创建一个数组并赋值
var array = new Array(elements0,element1,......);
2.访问数组
通过索引可以访问数组元素,索引值为0 ~(length-1),例如:
var array = new Array(2,3,5);
dcoument.write(array[1]); //输出的结果为3
3.数组的属性
- length属性
length属性表示数组的长度,即数组中包含的元素个数。
例如:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>length</title>
<script language="JavaScript"> var array = new Array("A","B","C","D");
document.write("初始的数组元素为:");
printarray(array);
array.length = 7;
document.write("length变大的数组元素为:");
printarray(array);
array.length = 3;
document.write("length变小的数组元素为:");
printarray(array);
document.write("arry[5]="+arry[5]);
function printarray(array) {
for (var i = 0;i<array.length;i++){
document.write(array[i]+" ");
}
document.write("<br>"); } </script>
</head>
<body> </body>
</html>
- prototype属性
prototype属性是所有JavaScript对象所共有的属性,用于将新定义的属性或者方法添加到对象中,对象的实例可以调用添加的方法或者属性。
语法:
Array.prototype.methodName = functionName;
或者
Array.prototype.methodName = functionName([param1],[param2]…){
statem;
}
例如:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>length</title>
<script language="JavaScript">
function array_max() {
var i,max=this[0];
for(i=1;i<this.length;i++){
if(max<this[i]){
max=this[i];
}
}
return max; }
function array_print() {
for (var i=0;i<this.length;i++){
document.write(this[i]+" ");
}
document.write("<br>");
}
Array.prototype.max = array_max;
Array.prototype.print = array_print;
var array = new Array(32,8,-12,156,78);
document.write("数组的值为:");
array.print();
document.write("数组中最大的元素值为:"+array.max()); </script>
</head>
<body> </body>
</html>
- constructor属性
constructor属性用于返回对创建对象的数组函数的引用。
例如:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>constructor</title>
<script>
var a = new Array();
if (a.constructor = array){
document.write("array is Array");
}
else if (a.constructor = Boolean){
document.write("a is Boolean");
}
</script>
</head>
<body> </body>
</html>
4.数组的方法
| 方法 | 描述 |
| concat() | 连接两个或更多的数组,并返回结果。 |
| join() | 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 |
| pop() | 删除并返回数组的最后一个元素 |
| push() | 向数组的末尾添加一个或更多元素,并返回新的长度。 |
| reverse() | 颠倒数组中元素的顺序。 |
| shift() | 删除并返回数组的第一个元素 |
| slice() | 从某个已有的数组返回选定的元素 |
| sort() | 对数组的元素进行排序 |
| splice() | 删除元素,并向数组添加新元素。 |
| toSource() | 返回该对象的源代码。 |
| toString() | 把数组转换为字符串,并返回结果。 |
| toLocaleString() | 把数组转换为本地数组,并返回结果。 |
| unshift() | 向数组的开头添加一个或更多元素,并返回新的长度。 |
| valueOf() | 返回数组对象的原始值 |
特此声明:如需转载请注明出处,如有疑问请及时提出以便于改正,如有侵权,联系删除,谢谢
Javascript 对象 - 数组对象的更多相关文章
- javascript之数组对象与数组常用方法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象, const 指针和指向 const 对象的指针, const 对象的引用
[源码下载] 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象, const 指针和指向 const 对象的指针, con ...
- javascript变量 数组 对象
一 变量 1.全局变量和局部变量 在JavaScript中同一个变量可以反复赋值,而且可以是不同类型的变量,但是要注意只能用var声明一次.这种变量类型不固定的语言称为动态语言,与之对应的静态语言,如 ...
- JavaScript类数组对象参考
JavaScript和DOM中有很多类数组对象,它们有以下特点 1.有length属性 2.可以使用[]通过下标访问 3.部分类数组对象使用[]访问成员时不只可以使用下标,还可以使用id或name 4 ...
- javascript 类数组对象
原文:https://segmentfault.com/a/1190000000415572 定义: 拥有length属性,其他属性(索引)为非负整数(对象中的所有会被当做字符串来处理,这里你可以当做 ...
- JavaScript 浅析数组对象与类数组对象
数组(Array对象) 数组的操作 创建数组方法 添加与修改数组元素 删除数组元素 使用数组元素 遍历数组元素 多维数组 数组相关的函数 concat() join() pop() push() sh ...
- JavaScript之数组对象
Array类型是ECMAScript中最常用的类型了. 一.声明方式 1.使用Array构造函数 var arr1 = new Array(); 如果预先知道要保存数组的数量, 也可以给构造函数传递该 ...
- 在Javascript中数组对象(json)里元素相同的操作
1.数组对象元素相同,分组显示 let arry = [ { expensedate: '2018/09/29', amount: 1, type: '交通费' }, { expensedate: ...
- JavaScript中数组对象详解
Array对象即数组对象用于在单个变量中存储多个值,JS的数组是弱类型的,所以允许数组中含有不同类型的元素,数组元素甚至可以是对象或者其他数组. 创建数组的语法 1.Array构造器 1.var li ...
随机推荐
- 【Spark调优】Kryo序列化
[Java序列化与反序列化] Java序列化是指把Java对象转换为字节序列的过程:而Java反序列化是指把字节序列恢复为Java对象的过程.序列化使用场景:1.数据的持久化,通过序列化可以把数据永久 ...
- [原创]K8Cscan插件之Web主机扫描(存活主机、机器名、Banner、标题)
[原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介:何为自定义扫描器?其实也是插件化,但C ...
- 《CLR Via C#》读书笔记:26.线程基础
一.线程开销 操作系统创建线程是有代价的,其主要开销在下面列举出来了. 内存开销 线程内核对象 拥有线程描述属性与线程上下文,线程上下文占用的内存空间为 x86 架构 占用 700 字节.x64 架构 ...
- npm包实现发布正式和测试版
npm publish的時候 怎麽發測試版和正式版本呢? 通常我們一般情況下 直接 npm publish 提交自己的開發包后,在項目中 npm install @packageName 是下載下來剛 ...
- 微服务架构下分布式事务解决方案——阿里GTS
1 微服务的发展 微服务倡导将复杂的单体应用拆分为若干个功能简单.松耦合的服务,这样可以降低开发难度.增强扩展性.便于敏捷开发.当前被越来越多的开发者推崇,很多互联网行业巨头.开源社区等都开始了微服务 ...
- 菜鸟系列docker——docker镜像下(5)
1. docker镜像构建 该章节主要介绍2种构建docker镜像的方式.当然,当前基本上需要的基础镜像都有,直接使用即可.例如数据库.中间件之类的,只需要拿来使用即可,但是依然存在需要开发者构建镜像 ...
- PCA实现教程
数据是机器学习模型的生命燃料.对于特定的问题,总有很多机器学习技术可供选择,但如果没有很多好的数据,问题将不能很好的解决.数据通常是大部分机器学习应用程序中性能提升背后的驱动因素. 有时,数据可能很复 ...
- lucene实战--打分算法没有那么难!
作为一个开放源代码项目,Lucene从问世之后,引发了开放源代码社群的巨大反响,程序员们不仅使用它构建具体的全文检索应用,而且将之集成到各种系统软件中去,以及构建Web应用,甚至某些商业软件也采用了L ...
- 微信分享JS-SDK
微信JS-SDK,提供给开发者的基于微信内的网页开发工具包 使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微信分享.扫一扫.卡券.支付等微 ...
- Linux下的java虚拟机性能监控与故障处理命令
java包中提供了很多监控JVM的工具类,作为java程序员必须得掌握常用的几个工具,下面是几个常用的JVM性能监控与故障处理工具的介绍与使用. 1.jstack 该命令用于生成当前时刻虚拟机的线程快 ...