javascript数组的属性、方法和清空-最全!!!(必看)
今天经理要我从新看一遍js,当我再看《精通js和jquery》这本书时,发现关于数组的这章节讲的很少,于是想自己总结一下数组的常用方法。
定义数组:
var arr = new Array(12);
arr[10] = “cmc”;
var arr = new Array(); //无法确定一个数组的长度时
var arr = [“chen”,”liu”,”huang”];
var arr = new Array( [“chen”,”liu”,”huang”]);
var a = new Array(5); //指创建长度为5的数组
var a = new Array([5]); //指创建一个数组,长度为1,并且第一位是5
数组属性:
1. length属性:Length属性表示数组的长度,即其中元素的个数。因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1。和其他大多数语言不同的是,
JavaScript数组的length属性是可变的,这一点需要特别注意。arr.length=0;,这就是一种清空js数组的方式
2. constructor 指定建立地象原型(prototype)函数
3. index 代表数组组件的索引值
4.prototype 用以建立自定义的对象属性
数组方法:
toString 将数组转为String
concat 方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。array1.concat([item1[, item2[, . . . [, itemN]]]])
join 方法 :返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。arrayObj.join(separator) 与C#不同的是这里是直接通过数组调用出来返回给一个字符串.
split 方法 :返回数组 基本和C#一样 var s="1_2_3"; var ary=s.split("_"); 参数是字符串而不是字符
pop 方法 :移除数组中的最后一个元素并返回该元素。arrayObj.pop()
push 方法 :将新元素添加到一个数组中,并返回数组的新长度值。arrayObj.push([item1 [item2 [. . . [itemN ]]]])
reverse 方法 :返回一个元素顺序被反转的 Array 对象。arrayObj.reverse( ) 注意这里是返回一个原来的数组而不是创建了一个新的数组.
shift 方法 :移除数组中的第一个元素并返回该元素。arrayObj.shift( )
slice 方法 :返回一个数组的一段。arrayObj.slice(start, [end])
sort 方法 :返回一个元素已经进行了排序的 Array 对象。arrayobj.sort(sortfunction)
如果 sort()里面没有参数那么将按照字母顺序排列
如果要用从大到小顺序排列里面需要带参数sort(function(a,b){return b-a});
splice 方法 :从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
unshift 方法 :将指定的元素插入数组开始位置并返回该数组。arrayObj.unshift([item1[, item2 [, . . . [, itemN]]]]) 在IE下无效,返回undefined fox下可以
alert(arr01.split(“”).reverse().join(“”));//先将每个字符分割为一个数组,然后反序数 组,最后将数组无连接符的转化为字符串,反转数组的字符
数组的三种清空方法:
方式1,splice
var ary = [1,2,3,4];
ary.splice(0,ary.length);
console.log(ary); // 输出 [],空数组,即被清空了
方式2,length赋值为0
目前
Prototype中数组的 clear 和mootools库中数组的 empty 使用这种方式清空数组。
int[] ary = {1,2,3,4};
ary.length = 0;
方式3,赋值为[]
这里其实并不能说是严格意义的清空数组,只是将ary重新赋值为空数组,之前的数组如果没有引用在指向它将等待垃圾回收。
Ext库Ext.CompositeElementLite类的 clear 使用这种方式清空。
var ary = [1,2,3,4];
ary = []; // 赋值为一个空数组以达到清空原数组
清空方式的选择:
由于第三种它只是重新给数组赋值,将其覆盖。并不是真正意义的清空,所以他的效率比较高。第一种过于繁琐,而第二种是真的清空,又很简单,所以一般使用推荐第二种。
javascript数组的属性、方法和清空-最全!!!(必看)的更多相关文章
- js 判断数组包含某值的方法 和 javascript数组扩展indexOf()方法
var questionId = []; var anSwerIdValue = []; ////javascript数组扩展indexOf()方法 Array.prototype.indexOf ...
- JavaScript 数组 length 属性获取数组长度或设置数组元素的数目
JavaScript 数组 length 属性 JavaScript 数组 length 属性可返回或设置或组中元素的数目,语法如下: array_object.length 利用 length 属性 ...
- JavaScript 数组相关基础方法
文章来源于:https://www.cnblogs.com/dolphinX/p/3353590.html 创建数组 构造函数 1.无参构造函数,创建一空数组 var a1=new Array(); ...
- <javaScript> 数组去重的方法总结(2017年)
现在要求去重下面这个数组: const arr = [1, 2, 3, 3, 3, '0', '1', '2', '测试', '重复', '重复', NaN, NaN, false, false]; ...
- Javascript数组求和的方法总结 以及由斐波那契数列得到的启发
一次面试中,面试官要求用三种不同的Javascript方法进行一个数字数组的求和,当时思来想去只想到了使用循环这一种笨方法,因此面试比较失败,在这里总结了六种Javascript进行数组求和的方法,以 ...
- JavaScript——数组的indexOf()方法在IE8中的兼容性问题
昨天在工作中遇到一个问题:数组的indexOf()方法在IE8中无效. 如以下代码在IE8中报错“对象不支持“indexOf”属性或方法”: var arr = [1,2,3]; var index ...
- javascript 数组去重的方法
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 方法一 //注意有一个元素是空的 var test1 = [0, 0, 1, 1, 2, 'sss', 2 ...
- JavaScript数组的一些方法集合
数组方法集合 push()添加到数组末尾,并返回修改后数组的长度 var a=array.push('a','b'); alert(a);//2 pop() 移除数组最后一项,返回移除的项. shif ...
- Javascript数组Array的方法总结!
1.join() 将数组的元素组成一个字符串,以分隔符连接,如果省略则默认逗号为分隔符,该方法只接收一个参数:分隔符.此方法不会改变原数组. let arr = [1,2,3,4] let arr1 ...
随机推荐
- GPS坐标系
本次测试之坑,人车定位偏差,分析如下 车的定位由后台提供,由gps上报位置,采用WGS-84坐标系 前端(app/小程序)使用腾讯地图,或者高德地图,采用的是GCJ-02坐标系,或者在GCJ-02基础 ...
- 接口约束的另一种方法:Class类的isAssignableFrom
Class类的isAssignableFrom是个不常用的方法,感觉这个方法的名字取得不是很好,所以有必要在此解析一下,以免在看源码时产生歧义,这个方法的签名如下: public native boo ...
- Atcoder Beginner Contest 115 D Christmas 模拟,递归 B
D - Christmas Time limit : 2sec / Memory limit : 1024MB Score : 400 points Problem Statement In some ...
- C语言的数据类型的本质和提高学习
一.数据类型的概念 类型是对数据的抽象 类型是相同的数据有相同的表示形式.存储格式以及相关的操作 程序中使用的数据必定属于某一种数据类型 1.算术类型: 包括三种类型:整数类型.浮点类型,枚举型. ...
- php 批量下载文件
public function batchDownload() { $filename = 'tmp.zip'; $zipName = date('YmdHi') . '.zip'; $files = ...
- U盘安装centos7 关键步骤
出现安装界面 按tab键或e键进行修改 一般默认第二行为: vmlinuz intrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd ...
- 初识 Proxysql
1.ProxySQL 介绍和安装 ProxySQL 是一种高性能.高可用的开源中间件,适用于mysql和相关的数据库,如MariaDB官网:http://www.proxysql.com 安装 发行版 ...
- 多个子域名前端网站调用同一个webAPI时session混用问题
session机制: 当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识 - 称为session id,如果已包含一个sess ...
- 【repost】让你一句话理解闭包(简单易懂)
接触javascript很久了,每次理解闭包都似是而非,最近在找Web前端的工作,所以需要把基础夯实一下. 本文是参照了joy_lee的博客 闭包 在她这篇博客的基础上以批注的形式力争把我的理解阐述出 ...
- 程序员基层知识程序与cpu【更新1】
我是一个小白,但我通过学习我慢慢的懂了一些事.分享出来有错误的望大咖指导. 我们要很明确的明白我们学的是编程而不是编程语言,编程语言只是工具用来方便我们做很多编程有关的事. 首先我在学习的过程中,第一 ...