javascript笔记整理(数组对象)
1、属性
a.length--设置或返回数组元素的数目
var a=[1,2,3,45,5];
alert(a.length=6) 结果:6
alert(a[5]) 结果:undefined
b.constructor--返回构造函数的引用
var test=new Array();
alert(test.constructor==Array); true
2、方法
a.删除或添加类
1.push()--向数组的末尾添加一个或更多元素,并返回新的长度
var a=[1,2,3,4,5];
alert(a.push('a','b')); 结果:7
alert(a); 结果:1,2,3,4,5,a,
2.unshift()--向数组的开头添加一个或更多元素,并返回新的长度
var a=[1,2,3,4,5];
alert(a.unshift('a','b')); 结果:7
alert(a); 结果:a,b,1,2,3,4,5
3.pop()--删除数组的最后一个元素,返回删除的元素
var a=[1,2,3,4,5];
alert(a.pop()); 结果:5
alert(a); 结果:1,2,3,4
4.shift()--删除数组的第一个元素,返回删除的元素
var a=[1,2,3,4,5];
alert(a.pop()); 结果:1
alert(a); 结果:2,3,4,5
5.splice(index,num,item1,.....itemX)--删除元素,并向数组添加新元素
index 必需。从何处开始添加或删除,必须是数值类型(数组的下标)
num 必需。规定了删除的个数,如果是0,则不删除
item 可选。需要添加的元素,可以当作替换的元素
如果有删除的元素,返回删除的元素;如果没有删除的元素,返回为空,添加的元素在index值前面
var a=[1,2,3,4,5];
alert(a.splice(0,1,'a','b')); 结果:1
alert(a); 结果:a,b,2,3,4,5
b.数组的转换
join(separator)--将数组分割成字符串
separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符,返回结果就是组合成的字符串
var a=[1,2,3,4,5];
alert(a.join('-')); 结果:1-2-3-4-5
c.数组的分割
slice(start,end)--从某个已有的数组返回选定的元素
start:必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end:可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
var a=[1,2,3,4,5];
alert(a.slice(1,4)); 结果:2,3,4
alert(a.slice(-4,-1)); 结果:2,3,4
alert(a.slice(-2)); 结果:4,5
不包括,end值的元素
d.排序(冒泡排序)
sort(sortby) 对数组的元素进行排序
sortby:可选。规定排序顺序。必须是函数。如果没有参数,则按照字母的编码进行排序.
sortby会提供两个参数(a,b)
a<b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值
a=b,则返回 0。
a>b,则返回一个大于 0 的值
var a=[1,2,3,22,5];
alert(a.sort()); 结果:1,2,22,3,5
alert(a.sort(function(a,b){return b-a})); 结果:22,5,3,2,1
alert(a.sort(function(a,b){return a-b})); 结果:1,2,3,5,22
f.数组的连接
concat()--连接两个或更多的数组,并返回结果,对原数组没有任何影响
var a=[1,2,3,22,5];
var b=['a','b','c'];
alert(a.concat(b)); 结果:1,2,3,22,5,a,b,c
代码实践:
----------------冒泡排序--------------
var a=[34,13,8,22,5];
function arrsort(){
for(var i=0;i<=this.length;i++){
for(var j=0;j<=this.length-1;j++){
var aa=this[j];
if(this[j]<this[j+1]){
this[j]=this[j+1];
this[j+1]=aa;
}
}
}
return this;
}
Array.prototype.arrSort=arrsort;
alert(a.arrSort()); 结果:34,22,13,8,5
-----------------删除数组的重复元素--------------
var a=[34,13,22,22,5,'aa','aa'];
function arrsort(){
for(var i=0;i<=this.length;i++){
for(var j=0;j<=this.length-1;j++){
if(this[j]===this[j+1]){
this.splice(j,1);
}
}
}
return this;
}
Array.prototype.arrSort=arrsort;
alert(a.arrSort()); 结果:34,13,22,5,aa
javascript笔记整理(数组对象)的更多相关文章
- javascript笔记整理(对象遍历封装继承)
一.javascript对象遍历 1.javascript属性访问 对象.属性名 对象['属性名'] var obj={name:'chen',red:function(){ alert(1);ret ...
- javascript笔记整理(对象的继承顺序、分类)
Object.prototype.say=function(){ alert("我是顶层的方法"); } children.prototype=new parent(); pare ...
- javascript笔记整理(对象基础)
一.名词解释 1.基于对象(一切皆对象,以对象的概念来编程) 2.面向对象编程(Object Oriented Programming,OOP) A.对象(JavaScript 中的所有事物都是对象) ...
- 运维开发笔记整理-QueryDict对象
运维开发笔记整理-QueryDict对象 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 客户端发送数据请求有很多种,相信运维人员已经很清楚了,如果不太清楚的话可以参考我之前的学习笔 ...
- 运维开发笔记整理-JsonResponse对象
运维开发笔记整理-JsonResponse对象 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.使用HttpResponse发送json格式的数据 1>.HttpRespo ...
- 运维开发笔记整理-Request对象与Response对象
运维开发笔记整理-Request对象与HttpResponse对象 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.request对象 1>.什么是request 首先,我 ...
- javascript中的数组对象
1.创建数组的三种方式: 1.1 var 数组名=[元素1,元素2,元素3...]; 例如: var arr1=[1,2,3,4]; 1.2 var 数组名=new Array(元素1,元素2,元素3 ...
- javascript:类数组 -- 对象
在javascript中,对象与数组都是这门语言的原生规范中的基本数据类型,处于并列的位置. 类数组:本质是一个对象,只是这个 对象 的属性有点特殊,模拟出数组的一些特性. 一般来说,如果我们有一个 ...
- JavaScript中Array(数组) 对象
JavaScript中Array 对象 JavaScript中创建数组有两种方式 (一)使用直接量表示法: var arr4 = []; //创建一个空数组var arr5 = [20]; // 创建 ...
- JavaScript深入之类数组对象与arguments(转载)
类数组对象 所谓的类数组对象: 拥有一个 length 属性和若干索引属性的对象 举个例子: var array = ['name', 'age', 'sex']; var arrayLike = { ...
随机推荐
- android:background="@drawable/home_tab_bg"
android:background="@drawable/home_tab_bg" home_tab_bg/xml: <bitmap xmlns:android=" ...
- MySQL Cluster-备份恢复初步测试
参考文档 http://blog.chinaunix.net/uid-20639775-id-1617795.html http://xxtianxiaxing.iteye.com/blog/5 ...
- chr()、unichr()和ord(),全半角转换,ValueError: unichr() arg not in range() (wide Python build)
chr().unichr()和ord() chr()函数用一个范围在range(256)内的(就是0-255)整数作参数,返回一个对应的字符. unichr()跟它一样,只不过返回的是 Unicode ...
- HDU1163【九余数定理】【水题】
Eddy's digital Roots Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Oth ...
- Remoting简单实践
一句话概括 remoting是微软的一种实现在不同的.net应用程序中进行分布式通信的技术 重要概念 原理大致是首先客户端通过remoting通道来获取服务器对象代理,通过序列化与反序列方式实现数据交 ...
- iOS弹出底部视图简单实现
- 项目基本目录 其中xib文件用来自定义需要弹出的视图. 在主控制器里设置popview的frame等信息代码如下: 底部视图(popview)初始化放在父类视图的最顶部或者说是整个屏幕的最底部,宽 ...
- mac 下搭建 Android 开发环境
因工作需要,要在mac 下搭建 Android 开发环境.谷歌.度娘了好久,没有找个一个完整又系统的方法,很是苦恼.最终,皇天不负有心人,找到了下面这篇文档,结合亲身体验,特此记录.也为有这方面需求的 ...
- 【论文阅读】Parsing Clothing in Fashion Photographs(翻译与理解)
发表于2012年 作者:Kota Yamaguchi M.Hadi Kiapour Luis E.Ortiz Tamara L.Berg 摘要:展示了一个从时装图片中解析衣服的有效方法,提供了一个一般 ...
- 语法糖----JAVA
语法糖 语法糖(Syntactic Sugar),也叫糖衣语法,是英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语.指的是,在计算机语言中添加某种语法,这种语法能使程序 ...
- 【集训笔记】计算几何【HDOJ2036【HDOJ1086【HDOJ1115【HDOJ1147【HDOJ1392 【ZOJ2976
改革春风吹满地 Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepted ...