Javascript中Array用法实例分析

本文实例讲述了Javascript中Array用法。分享给大家供大家参考。具体分析如下:

JavaScript中的Array对象就是数组,首先是一个动态数组,而且是一个像C#、Java中“数组、List、HashMap/Dictionary”等的超强综合体。

Array数组

使用方式:

例1:

var citys = new Array();
//创建数组对象,无需初始化长度,动态
citys[0] = '上海';
citys[1] ='北京';
citys[2] = '深圳';
for(var i=0; i< citys.length; i++){
  alert(citys[i]);
}

例2(推荐):

var arr=[10,true,'哇咔咔'];
for(var i=0;i<arr.length;i++){
  alert(arr[i]);
}

forin遍历Array数组

var arr=['哈尼族','壮族','满族','漂族'];
for(var item in arr){
  alert(item+'===='+arr[item]);
}

Array键值对

使用方式

例如:

var arr=new Array();
arr["name"]='Jack';
arr["age"]=28;
arr["gender"]='fale';
arr["height"]=180;
for(var item in arr){
  alert(item+'===='+arr[item]);
}

遍历Array键值对

forin循环

var arr={name:'James',age:28};
for(var item in arr){
  alert(item+'==='+arr[item]);
}

通过对象.键

var arr={name:'James',age:28};
alert(arr.name);
alert(arr.age);

方法传值

function f1(s){
  alert(s.name);
  alert(s.age);
}
f1({name:'Rose',age:20});

特殊的家伙

例1:

var arr=[{name:'James',age:19},{name:'Rose',age:18},{name:'Max',age:20}];
for(var i=0;i<arr.length;i++){
  alert(arr[i].name+'==='+arr[i].age);
}

例2:

var code={name:'Max',children:[{name:'jack',age:20},{name:'rose',age:18}]};
alert(code.name);
for(var i=0;i<code.children.length;i++){
  alert(code.children[i].name+'>>'+code.children[i].age);
}
//当然forin也可以,但麻烦
for(var item in code.children){
  alert(item+'>>'+code.children[item].name+'==='+code.children[item].age);
}

Array比较

自定义一个通用的比较方法

function max(arr,compare){
  var m=arr[0];
  for(var i=1;i<arr.length;i++){
 if(compare(arr[i],m)){
   m=arr[i];
 }
  }
  return m;
}
var s1=max([12,32,33,100,8],function(n1,n2){
  return n1>n2;
});
alert(s1);
var s2=max(["aa","bbbb","ccc"],function(n1,n2){
  return n1.length>n2.length;
});
alert(s2);

Javascript中的比较方法sort()

例1:

var arr=[23,12,56,200,45];
arr.sort(function(n1,n2){
  return n1>n2;
});
alert(arr);
var arrStr=["aa","bbb","cccc"];
arrStr.sort(function(n1,n2){
  return n1.length>n2.length;
});
alert(arrStr);

例2:

var arr=[{name:'Bob',age:100},{name:'Tom',age:23},{name:'Rose',age:78}];
arr.sort(function(n1,n2){
  return n1.age>n2.age;
});
for(var i=0;i<arr.length;i++){
  alert(arr[i].name);//Tom,Rose,Bob
}

希望本文所述对大家的javascript程序设计有所帮助。

(0)

相关推荐

  • Javascript基础教程之数组 array

    字符串,数值,布尔值都属于离散值(scalar),如果某个变量是离散的,那么任何时候它只有一个值. 如果想使用变量存储一组值,就需要使用数组(array). 数组是由多个名称相同的树值构成的集合,集合中每个数组都是数组的元素(element),可以使用变量team存储团队里每个成员的名字. 在JavaScript中,数组使用关键字 Array声明创建,同事还可以声明变量的长度length.例如 复制代码 代码如下: var aTeam = new Array(12);//声明变量的长度 在无法预

  • JavaScript之数组(Array)详解

    ECMAScript的数组与其他语言中的数组有着相当大的区别.虽然ECMAScript中的数组也是有序列表,但是它数组你的每一项可以保存任何类型的数据.ECMAScript数组的大小是可以动态调整的.     创建数组的基本方式有两种.第一种是使用Array构造函数,如下所示: 复制代码 代码如下: var colors = new Array(); 如果知道数组要保存的项目数量,也可以给构造函数传递参数,而该参数会自动变成length属性的值,如下: 复制代码 代码如下: var colors

  • javascript自定义in_array()函数实现方法

    本文实例讲述了javascript自定义in_array()函数实现方法.分享给大家供大家参考.具体如下: function in_array( what, where ){ var a=false; for(var i=0;i<where.length;i++){ if(what == where[i]){ a=true; break; } } return a; } 希望本文所述对大家的javascript程序设计有所帮助.

  • javascript模拟php函数in_array

    js 中判断某个元素是否存在于某个 js 数组中,相当于 php 语言中的 in_array 函数. Array.prototype.S=String.fromCharCode(2); Array.prototype.in_array=function(e){ var r=new RegExp(this.S+e+this.S); return (r.test(this.S+this.join(this.S)+this.S)); }; 用法如下: var arr=new Array(["b&quo

  • JavaScript实现的in_array函数

    在JS中要判断一个值是否在数组中并没有函数直接使用,如PHP中就有in_array()这个函数.但我们可以写一个类似in_array()函数来判断是一个值否在函数中. /** * JS判断一个值是否存在数组中 */ // 定义一个判断函数 var in_array = function(arr){ // 判断参数是不是数组 var isArr = arr && console.log( typeof arr==='object' ? arr.constructor===Array ? ar

  • JavaScript数组Array对象增加和删除元素方法总结

    本文实例总结了JavaScript数组Array对象增加和删除元素方法.分享给大家供大家参考.具体分析如下: pop 方法 移除数组中的最后一个元素并返回该元素. arrayObj.pop( ) 必选的 arrayObj 引用是一个 Array 对象. 说明 如果该数组为空,那么将返回 undefined. shift 方法 移除数组中的第一个元素并返回该元素. arrayObj.shift( ) 必选的 arrayObj 引用是一个 Array 对象. 说明 shift 方法可移除数组中的第一

  • javascript版的in_array函数(判断数组中是否存在特定值)

    我们经常会用到这个一样逻辑,判断一个字符串或者数字是否在数组内,很多程序语言都有这样一样专门的函数,比如PHP的in_array().那么JS有木有呢,很遗憾,JS木有这样的函数,于是想到伟大的JQ是否封装了这个函数,找到了API,JQ的确封装了这个函数jQuery.inArray( value, array ) 搜索数组中指定值并返回它的索引(如果没有找到则返回-1).value要搜索的值.array一个数组,通过它来搜索. 当然,处于学习,自己也去写了这样的函数: 复制代码 代码如下: fu

  • Javascript中Array用法实例分析

    本文实例讲述了Javascript中Array用法.分享给大家供大家参考.具体分析如下: JavaScript中的Array对象就是数组,首先是一个动态数组,而且是一个像C#.Java中"数组.List.HashMap/Dictionary"等的超强综合体. Array数组 使用方式: 例1: var citys = new Array(); //创建数组对象,无需初始化长度,动态 citys[0] = '上海'; citys[1] ='北京'; citys[2] = '深圳'; fo

  • javascript中attachEvent用法实例分析

    本文实例讲述了javascript中attachEvent用法.分享给大家供大家参考.具体分析如下: 一般我们在JS中添加事件,是这样子的 obj.onclick=method 这种绑定事件的方式,兼容主流浏览器,但如果一个元素上添加多次同一事件呢? obj.onclick=method1 obj.onclick=method2 obj.onclick=method3 如果这样写,那么只有最后绑定的事件,这里是method3会被执行,这个时候我们就不能用onclick这样的写法了,主角改登场了,

  • javascript中AJAX用法实例分析

    本文实例讲述了javascript中AJAX用法.分享给大家供大家参考.具体分析如下: 兼容地获得XMLHttpRequest对象: var xhr = null; if(window.XMLHttpRequest){ //非IE浏览器 xhr = window.XMLHttpRequest; }else if(window.ActiveXObject){ //IE浏览器 try{ //高版本,受msxml3.dll+支持 xhr = new ActiveXObject("Msxml2.XMLH

  • Javascript中arguments用法实例分析

    本文实例讲述了Javascript中arguments用法.分享给大家供大家参考.具体分析如下: 先来看如下示例: function add(n1,n2){ return n1+n2; } function add(n1,n2,n3) { return n1+n2+n3; } alert(add(1,2)); //NaN,js中调用方法采用就近原则: //而由于该方法没有传入n3,所以结果是NaN js中没有方法重载,怎么解决上面这个问题? //arguments function f1(){

  • Javascript中innerHTML用法实例分析

    本文实例讲述了Javascript中innerHTML用法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: <html> <head> <script type="text/javascript"> function t(){  var cont = document.getElementById('container');  var htmlcode = "<p>哈哈哈哈</p>";  

  • JavaScript中继承用法实例分析

    本文实例分析了JavaScript中继承的用法.分享给大家供大家参考.具体如下: // define the Person Class function Person() {} Person.prototype.walk = function(){ alert ('I am walking!'); }; Person.prototype.sayHello = function(){ alert ('hello'); }; // define the Student class function

  • javascript中this用法实例详解

    本文实例讲述了javascript中this用法.分享给大家供大家参考,具体如下: JavaScript中的this含义非常丰富,它可以是全局对象,当前对象或者是任意对象,这都取决于函数的调用方式.函数有以下几种调用方式:作为对象方法调用.作为函数调用.作为构造函数调用.apply或call调用. 对象方法调用 作为对象方法调用的时候,this会被绑定到该对象. var point = { x : 0, y : 0, moveTo : function(x, y) { this.x = this

  • ASP.NET中ServerPush用法实例分析

    本文实例讲述了ASP.NET中ServerPush用法.分享给大家供大家参考.具体分析如下: 什么是ServerPush,服务器向客户端"推送",其实就是"长连接" 只有浏览器请求服务器端,服务器端才给浏览器响应数据,不会主动向浏览器推送数据,这是一种安全考虑,也是提高服务器的性能考虑,如果服务器向浏览器主动推送数据,就要用到ServerPush等技术模拟实现. 举个例子: 通过两个页面互相发送消息实现,消息放到数据库. /// <summary> //

  • jQuery中noConflict()用法实例分析

    本文实例讲述了jQuery中noConflict()用法.分享给大家供大家参考.具体分析如下: jQuery默认使用"$"操作符,$ 符号只是 window.jQuery 对象的一个引用,jQuery.noConflict() ,这个函数将变量$的控制权让渡给第一个实现它的那个库.这有助于确保jQuery不会与其他库的$对象发生冲突.在运行这个函数后,就只能使用jQuery变量访问jQuery对象.例如,在要用到$("div p")的地方,就必须换成jQuery(&

  • jquery中change()用法实例分析

    本文实例分析了jquery中change()的用法.分享给大家供大家参考.具体分析如下: change()当元素的值发生改变时,会发生 change 事件.该事件仅适用于文本域(text field),以及 textarea 和 select 元素. 当用于 select 元素时,change 事件会在选择某个选项时发生.当用于 text field 或 text area 时,该事件会在元素失去焦点时发生.   一.change的用法 1.触发 change 事件:触发被选元素的 change

随机推荐