一.JS的Array和Object
数组是JavaScript提供的一个内部对象,它是一个标准的集合,我们可以添加(push)、删除(shift)里面元素,我们还可以通过for循环遍历里面的元素,那么除了数组我们在JavaScript里还可以有别的集合吗?
由于JavaScript的语言特性,我们可以向通用对象动态添加和删除属性。所以Object也可以看成是JS的一种特殊的集合。下面比较一下Array和Object的特性:
Array:
新建:var ary = new Array(); 或 var ary = []; //初始化可以var ary=[1,2,3];
增加:ary.push(value);
删除:delete ary[n];
遍历:for ( var i=0 ; i < ary.length ; ++i ) ary[i];
Object:
新建:var obj = new Object(); 或 var obj = {};
增加:obj[key] = value; (key为string) //也可以obj.key=value;
删除:delete obj[key];
遍历:for ( var key in obj ) obj[key];
从上面的比较可以看出Object完全可以作为一个集合来使用,
如果我们要在Array中检索出一个指定的值,我们需要遍历整个数组:
代码:
var keyword = ;
for ( var i=0 ; i < ary.length ; ++i )
{
if ( ary[i] == keyword )
{
// todosomething
}
}
而我们在Object中检索一个指定的key的条目,只需要是要使用:
代码:
var key = '';
var value = obj[key];
// todo
二.JS数组Array函数
shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined
var a = [1,2,3,4,5];
var b = a.shift(); //a:[2,3,4,5] b:1
unshift:将参数添加到原数组开头,并返回数组的长度
var a = [1,2,3,4,5];
var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7
注:在IE6.0下测试返回值总为undefined,FF2.0下测试返回值为7,所以这个方法的返回值不可靠,需要用返回值时可用splice代替本方法来使用。
pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined
var a = [1,2,3,4,5];
var b = a.pop(); //a:[1,2,3,4] b:5
push:将参数添加到原数组末尾,并返回数组的长度
var a = [1,2,3,4,5];
var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7
concat:返回一个新数组,是将参数添加到原数组中构成的
var a = [1,2,3,4,5];
var b = a.concat(6,7); //a:[1,2,3,4,5] b:[1,2,3,4,5,6,7]
splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...
var a = [1,2,3,4,5];
var b = a.splice(2,2,7,8,9); //a:[1,2,7,8,9,5] b:[3,4]
var b = a.splice(0,1); //同shift
a.splice(0,0,-2,-1); var b = a.length; //同unshift
var b = a.splice(a.length-1,1); //同pop
a.splice(a.length,0,6,7); var b = a.length; //同push
reverse:将数组反序
var a = [1,2,3,4,5];
var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]
sort(orderfunction):按指定的参数对数组进行排序
var a = [1,2,3,4,5];
var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5]
slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组
var a = [1,2,3,4,5];
var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]
join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
var a = [1,2,3,4,5];
var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"
相关推荐
JavaScript集合是编程中的一种数据结构,它在JavaScript中主要指的是Array、Map、Set这三种类型。这些集合在处理数据时提供了不同的特性和功能,对于理解和掌握JavaScript编程至关重要。 首先,我们来谈谈数组...
JavaScript集合是JavaScript编程语言中的一个重要概念,主要用于组织和管理数据。在JavaScript中,有多种集合类型,包括数组、对象、Map、Set等。这些集合各自有不同的特点和应用场景,理解和掌握它们对于编写高效、...
在这个"网页设计特效 js集合"中,我们可以找到各种利用JavaScript实现的网页组件和模板,用于增强网站的功能性和美观性。 1. **模板**:JavaScript模板引擎允许开发者将数据和HTML结构分离,使得动态内容渲染更加...
JavaScript集合.zip
React Collection Helpers 是一个针对React应用开发的实用工具库,它提供了多种用于操作JavaScript集合(如数组)的方法。这个库的设计理念是将功能模块化,使其易于组合和复用,从而帮助开发者更高效地处理数据集合...
汤姆大叔深刻理解js集合.对JS进行了详细的剖析...绝对物超所值
JavaScript(简称JS)是Web开发中的重要脚本语言,它主要用于网页和浏览器交互,处理用户输入、动画效果、异步通信等。"事件集合"在JS中是指一系列与用户交互或浏览器行为相关的事件,比如点击、鼠标移动、页面加载...
总之,JS集合Set类的实现是为了提供一种管理唯一元素的机制,包括添加、删除、查找和进行集合运算。通过自定义的方法,我们可以根据需求灵活地扩展其功能。这个自定义Set类的例子为理解和应用集合概念提供了一个实用...
在这个"js实例之集合遍历字符创修改"的主题中,我们将深入探讨如何使用JavaScript有效地遍历数组、对象集合以及如何对字符串进行修改。 首先,让我们从集合遍历开始。在JavaScript中,集合可以是数组或对象。数组的...
**Backbone.js 集合详解** Backbone.js 是一个轻量级的JavaScript库,它为Web应用程序提供了模型-视图-控制器(MVC)架构的结构。在Backbone.js中,集合(Collections)是模型(Models)的有序集合,它们提供了一种...
### JAVA与JS中的集合概述 在现代编程语言中,集合框架是处理数据的重要工具之一,尤其是在面向对象的语言中,如Java。本文将详细介绍Java中的集合系统,并简要提及JavaScript中的集合概念,帮助读者理解这两种语言...
这里包括很多自己搜集的js教程和例子一起拿来大家分享一下。 包括:js 教程;javascript+jsp资料;javascript+css 下拉菜单;...JS集合;JavaScript教程;使用正则表达式进行数据校验;JavaScript教程--从入门到精通.等等
本压缩包“js网页特效(大集合)”显然是一份包含了多种JavaScript特效实现的资源集合,旨在帮助开发者快速找到并应用到自己的项目中。 首先,我们要理解JavaScript在网页特效中的作用。JavaScript可以操作DOM...
**uWebJS:深入理解这个JavaScript集合** **一、uWebJS简介** uWebJS 是一个专门为uweb浏览器设计的JavaScript库,它包含了用于增强浏览器功能和交互性的各种JavaScript工具和函数。作为一个专为特定浏览器定制的...
在JavaScript中,集合类是处理数据结构的重要工具,它们提供了高效的数据操作和管理方式。本篇文章将深入探讨JavaScript中的HashMap、Set和ArrayList等集合类的实现,并与Java中的相应概念进行对比,帮助开发者更好...
日常工作中,用到的一些小工具,整合了一下: 1 计算 2 日期转时间戳 3 时间戳转日期 4 转码unicode 5 发送get请求
在这个名为“javascript校验集合”的资源中,你将找到一系列针对不同类型数据的验证函数,如邮箱、身份证、数字和字母等。这些验证规则可以帮助你构建更健壮的前端应用程序。 首先,我们来看电子邮件验证。在互联网...
这个"javascript常用网页效果整理集合"提供了一系列的JS效果源码,可以帮助开发者快速实现各种常见功能,提升网页用户体验。 1. **日历插件**:JavaScript日历插件是网页中常见的一种组件,常用于日期选择、事件...
- **库与框架**:使用现成的JavaScript库(如jQuery UI, jstree, D3.js等)或框架(AngularJS的ng-repeat)来简化实现。 3. **Ajax技术**: - **异步加载**:使用Ajax实现动态树的关键在于异步加载子节点,只在...