JavaScript Array 对象全面解析:创建、遍历与排序

作者:代码拾荒

时间:2026-10-29

浏览:534

本文深入解析 JavaScript 中 Array 对象的多种用法。Array 不仅是动态数组,还可模拟 List 和 HashMap。文章通过实例演示了数组的创建、for-in 遍历、键值对操作及对象传值,并详细讲解了自定义比较方法与 sort() 排序函数的实际应用,帮助开发者掌握数组的高级特性。

文章目录

Array 对象概述

本文通过具体实例详细解析了 JavaScript 中 Array 的使用方法,旨在为读者提供实用的参考与学习素材。

在 JavaScript 中,Array 对象代表数组。它本质上是一个动态数组,功能远超普通数组,兼具 C# 或 Java 中“数组、List、HashMap/Dictionary”的综合特性。

Array 数组的基本使用方式

Array 数组基础用法

以下是 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]); 
}

Array 遍历技巧

使用 for-in 循环遍历 Array 数组


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

Array 键值对操作

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 键值对的方法

利用 for-in 循环进行遍历


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 比较与排序实现

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 程序设计的介绍能对您的开发工作有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章