`
hm4123660
  • 浏览: 283429 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
Dea4ce76-f328-3ab2-b24a-fb268e1eeb75
数据结构
浏览量:70290
社区版块
存档分类
最新评论

JS集合

    博客分类:
  • JS
阅读更多

一.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"

1
1
分享到:
评论

相关推荐

    JavaScript集合

    JavaScript集合是编程中的一种数据结构,它在JavaScript中主要指的是Array、Map、Set这三种类型。这些集合在处理数据时提供了不同的特性和功能,对于理解和掌握JavaScript编程至关重要。 首先,我们来谈谈数组...

    【JavaScript】JavaScript集合

    JavaScript集合是JavaScript编程语言中的一个重要概念,主要用于组织和管理数据。在JavaScript中,有多种集合类型,包括数组、对象、Map、Set等。这些集合各自有不同的特点和应用场景,理解和掌握它们对于编写高效、...

    网页设计特效 js集合

    在这个"网页设计特效 js集合"中,我们可以找到各种利用JavaScript实现的网页组件和模板,用于增强网站的功能性和美观性。 1. **模板**:JavaScript模板引擎允许开发者将数据和HTML结构分离,使得动态内容渲染更加...

    JavaScript集合.zip

    JavaScript集合.zip

    react-ReactCollectionHelpers一套可组合用来操作JS集合的工具组件

    React Collection Helpers 是一个针对React应用开发的实用工具库,它提供了多种用于操作JavaScript集合(如数组)的方法。这个库的设计理念是将功能模块化,使其易于组合和复用,从而帮助开发者更高效地处理数据集合...

    汤姆大叔深刻理解js集合

    汤姆大叔深刻理解js集合.对JS进行了详细的剖析...绝对物超所值

    事件集合js事件集合js事件集合

    JavaScript(简称JS)是Web开发中的重要脚本语言,它主要用于网页和浏览器交互,处理用户输入、动画效果、异步通信等。"事件集合"在JS中是指一系列与用户交互或浏览器行为相关的事件,比如点击、鼠标移动、页面加载...

    JS集合set类的实现与使用方法示例

    总之,JS集合Set类的实现是为了提供一种管理唯一元素的机制,包括添加、删除、查找和进行集合运算。通过自定义的方法,我们可以根据需求灵活地扩展其功能。这个自定义Set类的例子为理解和应用集合概念提供了一个实用...

    js实例之集合遍历字符创修改

    在这个"js实例之集合遍历字符创修改"的主题中,我们将深入探讨如何使用JavaScript有效地遍历数组、对象集合以及如何对字符串进行修改。 首先,让我们从集合遍历开始。在JavaScript中,集合可以是数组或对象。数组的...

    Backbone.js的集合

    **Backbone.js 集合详解** Backbone.js 是一个轻量级的JavaScript库,它为Web应用程序提供了模型-视图-控制器(MVC)架构的结构。在Backbone.js中,集合(Collections)是模型(Models)的有序集合,它们提供了一种...

    JAVA中的集合和js中集合

    ### JAVA与JS中的集合概述 在现代编程语言中,集合框架是处理数据的重要工具之一,尤其是在面向对象的语言中,如Java。本文将详细介绍Java中的集合系统,并简要提及JavaScript中的集合概念,帮助读者理解这两种语言...

    javascript帮助集合(大全)

    这里包括很多自己搜集的js教程和例子一起拿来大家分享一下。 包括:js 教程;javascript+jsp资料;javascript+css 下拉菜单;...JS集合;JavaScript教程;使用正则表达式进行数据校验;JavaScript教程--从入门到精通.等等

    js网页特效(大集合)

    本压缩包“js网页特效(大集合)”显然是一份包含了多种JavaScript特效实现的资源集合,旨在帮助开发者快速找到并应用到自己的项目中。 首先,我们要理解JavaScript在网页特效中的作用。JavaScript可以操作DOM...

    uwebjs:uweb浏览器的js集合

    **uWebJS:深入理解这个JavaScript集合** **一、uWebJS简介** uWebJS 是一个专门为uweb浏览器设计的JavaScript库,它包含了用于增强浏览器功能和交互性的各种JavaScript工具和函数。作为一个专为特定浏览器定制的...

    js 集合类实现 (HashMap, Set, ArrayList, etc.)

    在JavaScript中,集合类是处理数据结构的重要工具,它们提供了高效的数据操作和管理方式。本篇文章将深入探讨JavaScript中的HashMap、Set和ArrayList等集合类的实现,并与Java中的相应概念进行对比,帮助开发者更好...

    js工具集合

    日常工作中,用到的一些小工具,整合了一下: 1 计算 2 日期转时间戳 3 时间戳转日期 4 转码unicode 5 发送get请求

    javascript校验集合

    在这个名为“javascript校验集合”的资源中,你将找到一系列针对不同类型数据的验证函数,如邮箱、身份证、数字和字母等。这些验证规则可以帮助你构建更健壮的前端应用程序。 首先,我们来看电子邮件验证。在互联网...

    javascript常用网页效果整理集合 js效果源码集合

    本文将探讨一份名为“javascript常用网页效果整理集合”的资源,该集合中包含了一系列实用的JS效果源码,旨在帮助网页开发者快速实现各种常见功能,从而提高网页的用户体验。 首先,我们来看看日历插件。日历插件...

    js动态树集合

    - **库与框架**:使用现成的JavaScript库(如jQuery UI, jstree, D3.js等)或框架(AngularJS的ng-repeat)来简化实现。 3. **Ajax技术**: - **异步加载**:使用Ajax实现动态树的关键在于异步加载子节点,只在...

Global site tag (gtag.js) - Google Analytics