JavaScript 数组方法和属性
一. 数组对象的操作方法
1. 数组的创建
var arr = new Array(); //创建一个数组
var arr = new Array([size]); //创建一个数组并指定长度,注意是长度而不是上限
var arr = new Array([element0,[ element1[, ...[,elementN]]]]); //创建一个数组并赋初值
值得说明的是:第二种方式创建数组并制定数组的长度,但实际上数组是变长的,可以将元素存储在制定长度之外,这时数组的长度也会发生改变。
2.数组元素的访问
var arr = new Array("a","b");
var brr = arr[0]; //获取数组元素的值
arr[0] = "c"; //给数组元素赋予新的值
3. 数组元素的添加
arrObj.push(newelement1,newelement2,...,newelementX); //向数组的末尾添加一个或多个元素,并返回数组的新长度
arrObj.unshift(newelement1,newelement2,...,newelementX); //向数组的开头添加一个或多个元素,并返回数组的新长度,在这个过程中数组中的元素自动后移
arrObj.splice(insertPos,0,item1,item2,...,itemX); //向数组指定位置添加一个或多个元素,插入位置的元素自动后移,返回""
4. 数组元素的删除
arrObj.pop(); //移除数组中最后一个元素,并返回该元素值
arrObj.unshift(); //移除数组中第一个元素,数组中的元素自动前移,并返回该元素的值
arrObj.splice(deletePos,deleteCount);//删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素
5. 数组的截取和合并
arrObj.slice(start,end); //返回一个新数组,包含从start到end(不包括该元素)的数组中的元素。若end未被设定,将选取从start到数组结尾的所有元素
arrObj.concat(item1,item2,...itemX); //返回一个新数组,将多个数组(也可为字符串,或是数组和字符串的混合)连接为一个数组
6. 数组的拷贝
arrObj.slice(0); //返回一个新数组,该数组为原数组的一个副本
arrObj.concat(); //返回一个新数组,该数组为原数组的一个副本
7. 数组元素的排序
arrObj.sort(); //对数组中的元素排序
arrObj.reverse(); //颠倒数组中元素的顺序
8. 数组元素的字符串化
arrObj.join(sperator); //把数组中的所有元素放入一个字符串,元素是通过指定的分隔符separator进行分割
arrObj.toString();
arrObj.toLocaleString();
二. 数组对象的属性
1. length属性
length属性代表数组的长度,即其中元素的个数。由于数组的索引是从0开始的,所以一个数组的上下限分别是:0和length-1。和其它大多数语言不同的是,JavaScript数组的length属性时可变的。当length属性被设置得更大时,整个数组的状态不会发生变化,仅是length属性变化;当length属性被设置得比原来小时,则原先数组中下标大于或等于length的元素会被全部丢失。看下面的例子
var arr = [1,2,3,4,5,6,7,8,10];
console.log(arr.length); //
arr.length = 12;
console.log(arr.length); // console.log(arr[8]); //
arr.length = 5;
console.log(arr[8]); //undefined
arr.length = 12;
console.log(arr[8]); //undefined
JavaScript中可以使用一个未定义的数组元素(索引大于或等于length的元素),这时length属性的值将被设置为所使用元素索引的值加1。
var arr = [1,2,3];
arr[10] = 6;
console.log(arr.length); //
2.prototype属性
返回对象原型的引用,prototype属性时object共有的。
objectName.prototype,其中objectName是对象的名称。
prototype属性提供对象的类的一组基本功能。对象的新实例继承赋予该对象原型的操作。
给数组对象添加返回数组中最大元素值的方法。为完成这一点,需将该方法添加到数组原型中,即Array.prototype。
function array_max() {
var i;
var max = this[0];
for(i=1; i<this.length; i++) {
if(max < this[i]) max = this[i];
}
return max;
}
Array.prototype.array_max = array_max;
var arr = [1,5,7,3,9];
var res = arr.array_max();
console.log(res); //9
3. constructor属性
表示创建对象的函数。
objectName.constructor,其中objectName是对象或函数的名称。
constructor是所有具有prototype属性的对象的属性。这些对象是指除Global和Math对象以外的所有JavaScript本地对象。constructor属性保存了对构造特定对象实例的函数的引用。
var x = new String("sa");
console.log(x.constructor === String); //true
时间:2014-10-21
地点:合肥
引用:http://www.cnblogs.com/qiantuwuliang/archive/2011/01/08/1930499.html
JavaScript 数组方法和属性的更多相关文章
- JavaScript数组方法速查,32个数组的常用方法和属性
JavaScript数组方法速查手册极简版 http://30ke.cn/doc/js-array-method JavaScript数组方法速查手册极简版中共收了32个数组的常用方法和属性,并根据方 ...
- 【译】你应该了解的JavaScript数组方法
让我们来做一个大胆的声明:for循环通常是无用的,而且还导致代码难以理解.当涉及迭代数组.查找元素.或对其排序或者你想到的任何东西,都可能有一个你可以使用的数组方法. 然而,尽管这些方法很有用,但是其 ...
- JavaScript数组方法大全(推荐)
原网址:http://www.jb51.net/article/87930.htm 数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习, ...
- JavaScript数组方法--every、some、fill
接上一篇,JavaScript数组方法--concat.push,继续其他的数组方法. every:every() 方法测试数组的所有元素是否都通过了指定函数的测试. 先看其使用方法: functio ...
- JavaScript 数组方法处理字符串 prototype
js中数组有许多方法,如join.map,reverse.字符串没有这些方法,可以“借用”数组的方法来处理字符串. <!doctype html> <html lang=" ...
- 2018.2.27 JavaScript数组方法应用
JavaScript数组方法应用 1.找出元素item在给定数组arr中的位置 function indexOf(arr,item){ return arr.indexOf(item); } func ...
- JavaScript数组方法详解
JavaScript数组方法详解 JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法:并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中 ...
- JavaScript数组方法大集合
JavaScript数组方法集合 本文总结一下js数组处理用到的所有的方法.自己做个笔记. 数组方法 concat() 合并两个或多个数组 concat()能合并两个或者多个数组,不会更改当前数组,而 ...
- 一站式超全JavaScript数组方法大全
一站式JavaScript数组方法大全(建议收藏) 方法一览表 详细操作 本人总结了JavaScript中有关数组的几乎所有方法(包含ES6之后新增的),并逐一用代码进行演示使用,希望可以帮助大家! ...
随机推荐
- Android 数据库升级解决方案
转自:http://blog.csdn.net/leehong2005/article/details/9128501 请考虑如下情况: 在数据库升级时,不同版本的数据库,他们定义的表结构完全可能是不 ...
- 使用Mozilla Firefox插件RestClient测试Http API接口
RESTClient是Mozilla Firefox一个用于测试http请求插件.在火狐附加组件里面查询并安装,非常小巧,界面非常简单,使用非常的方便,看下面这张图你就全明白了,希望对新手有帮助! 1 ...
- hiho_1053_居民迁移
题目大意 有N个居民点在一条直线上,每个居民点有一个x表示坐标,y表示居民点的现有居民数.现在要求将居民点的居民重新分配,每个居民点的居民最远迁移的距离为R,要求分配完之后,居民点中居民数最多的居民点 ...
- python操作mongodb之四cp数据库
from pymongo import MongoClient #连接数据库 client=MongoClient('192.168.30.252',27017) #获取现有数据库的名称 client ...
- Alpha
100% — FF95% — F290% — E685% — D980% — CC75% — BF70% — B365% — A660% — 9955% — 8C50% — 8045% — 7340% ...
- UTF-7编码
目录 1 编码 1 2 编码代码(C++) 2 3 解码代码(C++) 4 4 测试代码(VC++) 7 1 编码 UTF-7编码的规则及特点为: 1)UTF16小于等于 0x ...
- webpages框架使用@razor语法向js代码传递Json字符串
进入web开发时间太短,一个人尝试着做了几个初级项目,遇到了太多的困难.尽管不是学开发专业的,仅为爱好所以硬着头皮坚持了下来. 将遇到的问题记录下来,备查. 使用vs2015中asp.net razo ...
- linux笔记:linux系统安装-linux系统安装
1.进入BIOS设置界面(在vmware虚拟机环境下,点击“虚拟机”菜单——电源——启动到BIOS设置): 2.把硬盘启动改成光盘启动(把光标移动到Boot菜单,再把光标置于CD-ROM Drive上 ...
- ubuntu 系统出错一览
1.系统升级出错:打开终端输入:sudo apt-get install -f
- 如何查看IIS并发连接数【转】
转http://wangfeng5271.blog.163.com/blog/static/4817444420128242123740/ 如果要查看IIS连接数,最简单方便的方法是通过“网站统计”来 ...