`
chengzhi
  • 浏览: 112261 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

js数组的完整说明

阅读更多

使用数组
 基本操作
  <script>
   var a=new Array("cctv","sxtv","tytv");
   var a=new Array(3);
   var a=new Array();
   a[0]="cctv";
   a[1]="sxtv";
   a[2]="tytv";
   a[3]="xzy";
   for(i=0;i<a.length;i++)
   document.writeln(a[i]);
  </script>
 多维数组

<script>
var rows= new Array();
rows[0]=new Array(5);
rows[1]=new Array(5);

rows[0][0]="你好";
rows[0][1]="邢志云";

if(rows[0][0]!=null)
{
 alert(rows[0][0]);
}

</script>

数组赋值

可以像上边那样简单的依次赋值,也可以像下边的这样:
<script>
var xzy=new Array();
xzy=[1,2,3,4,5,"邢志云","嘿嘿"];//给数组xzy赋值
for(var i=0;i<xzy.length;i++)
{
 alert(xzy[i]);
}
</script>
也可以直接赋值成多维数组
<script>
var s=["你好",["中国","太原","邢志云"],[3,3333],[4,4444],[5,5555],["0",["a","b","c"]],"cc"];
//        0               1                   2       3        4             5            6
//                  10    11       12     20  21   30  31    40  41

alert(s);//你好,中国,太原,邢志云,3,3333,4,4444,5,5555
alert(s[1]);//中国,太原,邢志云
alert(s[1][2]);//邢志云
alert(s[2][0]);//3
alert(s[2][1]);//3333
alert(s[5][1][0]);//a
alert(s[5][1][2]);//c
alert(s[6]);//cc
</script>

push:数据可以向最后的追加元素

var arr=new Array()
arr[0]="xbc1";
arr[1]="bcx2";
arr[2]="cctv3";
arr[3]="xctv4";
arr.push("邢志云");//向最后追加,也可以同时push多个
arr.push("0123");
for(i=0;i<arr.length;i++)
{
 if(arr[i]!=null)
 document.writeln(arr[i]);
}

pop:弹出最后一个元素,后进先出

 var arr=new Array();
 var s;
 arr[0]="a1";
 arr[1]="a2";
 arr[2]="a3";
 arr[3]="a4";
 s=arr.pop();//弹出最后一个元素,把值付给s,并删除最后一个元素
 alert(s);
 for(i=0;i<arr.length;i++)
 {
  document.writeln(arr[i]);
 }
 //显示: a1 a2 a3
unshift:插入到第一个之前,

 var arr=new Array();
 var s;
 arr[0]="a1";
 arr[1]="a2";
 arr[2]="a3";
 arr[3]="a4";
 arr.unshift("第一","第二");//插到第一个元素之前,后面的整体后移
 for(i=0;i<arr.length;i++)
 {
  document.write(arr[i]+":");
 }
 //显示: 第一:第二:a1:a2:a3:a4:
 shift:弹出第一个元素,先进先出
 var arr=new Array();
 var s;
 arr[0]="a1";
 arr[1]="a2";
 arr[2]="a3";
 arr[3]="a4";
 s=arr.shift();//弹出第一个元素,把值付给s,并删除第一个元素
 alert(s);
 for(i=0;i<arr.length;i++)
 {
  document.writeln(arr[i]);
 }
 //显示: a2 a3 a4
join:利用数组的join方法,连接所有的数组内容

数组的join(string val)可以将数组元素连接起来,并且用中间插入val,
当在网页上交互显示下拉框内容的时候可以将内容加载到数组内,再利用innerHTML将内容显示在出来
  <script>
   var a=new Array("cctv","sxtv","tytv");
   var a=new Array(3);
   var a=new Array();
   a[0]="cctv";
   a[1]="sxtv";
   a[2]="tytv";
   a[3]="xzy";
   document.writeln(a.join('<br>'));//如果直接用a.join(),则默认会用,分割
  </script>
显示:
cctv
sxtv
tytv
xzy
用这种方式连接字符串要比 s=s+”ddd”快的多
sort:数组排序 (从小到大)

var arr=new Array(1000)
arr[0]="xbc1";
arr[1]="bcx2";
arr[2]="cctv3";
arr[5]="xctv4";
arr.sort();
for(i=0;i<arr.length;i++)
{
 if(arr[i]!=null)
 document.writeln(arr[i]);
}
 reverse:数组反向,和sort配合使用能实现从大到小排序
 var arr=new Array()
 arr[0]="a1";
 arr[1]="a2";
 arr[2]="a3";
 arr[3]="a4";
 arr.push("邢志云");
 arr.push("0123");
 //arr.sort();
 arr.reverse();//数组反向排列
 for(i=0;i<arr.length;i++)
 {
  document.writeln(arr[i]);
 }
 //显示: 0123 邢志云 a4 a3 a2 a1

slice:数组截断后赋值给另外一个数组(不改变原始数组)
var xzy1=new Array();
xzy1=["a","b","c","hello","usa","eng"];
//     0   1   2     3      4     5
var xzy2=xzy1.slice(2,4);//从数组xzy1的2号元素开始到4号元素停止的值结束转成一个数组
for(var i=0;i<xzy2.length;i++)
{
 document.write(xzy2[i]+":");//显示c hello
}
也可以这么写
<script>
var xzy1=new Array();
xzy1=["a","b","c","hello","usa","eng"];
//     0   1   2     3      4     5
var xzy2=Array.prototype.slice.call(xzy1,2,4);//从数组xzy1的2号元素开始到4号元素停止的值结束转成一个数组
for(var i=0;i<xzy2.length;i++)
{
 alert(xzy2[i]);//显示c hello
}
</script>

 splice:数组截断或清空(改变原始数组)
 var arr=new Array();
 var s;
 arr[0]="a1";
 arr[1]="a2";
 arr[2]="a3";
 arr[3]="a4";
 arr[4]="a5";
 arr[5]="a6";
 var arr2=arr.splice(3,2,"x1","x2");//从3号开始的2个元素,用x1和x2替换,并把替换下的值重新赋给数组arr2
            //如果没有参数"x1","x2",则对应的2个元素会从arr中删除,后面的前推
 for(i=0;i<arr.length;i++)
 {
  document.write(arr[i]+":");//显示: a1:a2:a3:x1:x2:a6:
 }
    
 
 document.write("<br/>");
 for(i=0;i<arr2.length;i++)
 {
  document.write(arr2[i]+":");//显示:  a4:a5:
 }
 利用splice来清空数组
 var arr=new Array();
 arr[0]="a1";
 arr[1]="a2";
 arr[2]="a3";
 arr[3]="a4";
 arr[4]="a5";
 arr[5]="a6";
 alert(arr.length);//显示6
 arr.splice(0,100000000);//可以理解为把arr数组清空,又回到初始状态
 alert(arr.length);//显示0

 concat:数组连接
 var arr=new Array();
 var s;
 arr[0]="a1";
 arr[1]="a2";
 arr[2]="a3";
 arr[3]="a4";
 arr[4]="a5";
 arr[5]="a6";
 var arr2=["b1","b2","b3"];
 var arr3=arr.concat(arr2);
 for(i=0;i<arr3.length;i++)
 {
  document.write(arr3[i]+":");//显示: a1:a2:a3:a4:a5:a6:b1:b2:b3:
 }
 使用Map
map1:
<script>

var map = {};

map["张三"] = "1362348754";
map["李四"] = "0351-98476345";
map["王五"] = "0358-4873622";

alert(map["李四"]);
</script>

用map={}就可以把map清空;
map2:
<script>

var map = new Array();

map["张三"] = "1362348754";
map["李四"] = "0351-98476345";
map["王五"] = "0358-4873622";

alert(map["李四"]);//显示:0351-98476345
alert(map.length);//这里map.length显示为0


map[0] = "0358-4873622";
map[1] = "0358-4873622";
map[2] = "0358-4873622";
alert(map.length);//这里map.length显示为3
for(var i=0;i<map.length;i++)
{
 document.write(map[i]);
}
alert(map["李四"]);//显示:0351-98476345
</script>
map3:
var map={"姓名":"邢志云","性别":"男","年龄":34}
map.婚否="已婚";//可以动态添加
eval("map.国籍='中华'");//但map.后面的标识符只能是以字符开头的,并且不能有-所以全球标识符不宜用在这里
alert(map.国籍);
//alert(map.姓名);//邢志云
//alert(map.年龄);//34
map["民族"]="汉族";//也可以像第一条中那样赋值,但这种可以用任意串做键,如: map["1-2"]="汉族";alert(map.姓名+":"+map["1-2"]);//也能正常显示
alert(map.姓名+":"+map.民族);
for(var colname in map)
{
 alert(colname );//姓名 性别 年龄 婚否
}
for(var colname in map)
{
 alert(map[colname]);//邢志云 男 34 已婚
}
还可以这样
var s="'姓名':'邢志云','性别':'男',35:'年龄'";
eval("var map={"+s+"}");
alert(map["姓名"]);
或者
var s="姓名:'邢志云',性别:'男',35:'年龄'";
eval("var map={"+s+"}");
alert(map["姓名"]);
还可以嵌套
var map=
{
"人员":
 {
 "张三":"男"
 ,"赵六":"女"
 }
,"车辆":
 {
 "桑塔纳":"6万"
 ,"别克":"10万"
 }
,"年龄":34
}
alert(map.人员.赵六);//女
alert(map.车辆.桑塔纳);//6万
使用自定义的属性的数组
var a=new Array();
a[0]={};
a[0].姓名="邢志云";
a[0].年龄=32;

a[1]={};
a[1].姓名="李四";
a[1].年龄=28;
for(var i=0;i<a.length;i++)
{
 alert(a[i].姓名+":"+a[i].年龄);
}

分享到:
评论

相关推荐

    js数组说明大全

    JavaScript 数组详细说明大全 JavaScript 中的数组是一种基本数据类型,用于存储一组相关的数据。数组可以存储各种类型的数据,包括数字、字符串、对象等。数组的使用非常广泛,以下是对 JavaScript 数组的详细说明...

    全国城市js数组

    在实际实现过程中,开发者可能会创建两个JavaScript数组,一个存储省份信息,另一个存储城市信息。例如: ```javascript var provinces = [ {name: '北京市', cities: ['东城区', '西城区', '朝阳区', ...]}, {...

    JavaScript实现Array(数组)和Map

    JavaScript数组可以包含任意类型的值,包括数字、字符串、对象等。此外,JavaScript提供了一系列内置方法来操作数组,如push()用于在数组末尾添加元素,pop()用于移除末尾元素,slice()用于提取数组的一部分,concat...

    js中数组中相同的元素进行整合并创建一个新数组.pdf

    在JavaScript编程中,数组操作是常见的任务之一,特别是在处理数据集合时。本示例中,我们探讨的是如何处理包含重复元素的数组,并将其整合成一个新的结构。这个问题可以通过一个名为`sortArr`的函数来解决,它接收...

    使用JavaScript数组模拟Java的Hashtable集合

    于是,本人使用JavaScript的数组模拟Hashtable集合,说明JavaScript数组的特别之外。 环境:Windows XP Professional, IE 6.0 阅读对象:所有学习JavaScript的学员。 注:本示例代码注释非常详细,请仔细阅读体会...

    JavaScript数组操作函数汇总

    JavaScript数组操作函数是编程中非常基础且重要的部分,它们提供了对数组进行各种操作的方法,包括添加、删除、合并以及转换等。以下是对标题和描述中提及的数组操作函数的详细说明: 1. **push()**: `push()` 函数...

    JavaScript 实现Array(数组)和Map

    JavaScript数组提供了丰富的内置方法,如push、pop、shift、unshift、slice、splice、concat、indexOf、join等,这些方法极大地提高了我们处理数组的效率。在`array.js`文件中,可能会包含对这些方法的自定义实现...

    最实用的JS数组函数整理

    JS数组函数是JavaScript中进行数组操作的核心工具,它们能够对数组进行...以上就是一些最常用的JS数组函数的整理和说明。它们可以组合使用,解决各种数组操作问题。掌握这些函数对于提高JavaScript编程效率至关重要。

    JavaScript数组去重1

    JavaScript数组去重是编程中常见的需求,特别是在处理数据集合时,确保数据的唯一性非常重要。以下将详细讲解几种常见的JavaScript数组去重方法。 1. **新建数组法**: 这是最基础的方法,通过创建一个新的空数组...

    Javascript数组函数库.docx

    JavaScript中的数组函数库是开发过程...以上这些函数都是JavaScript数组的核心成员,它们提供了丰富的操作方式,使得处理数组数据变得简单高效。在实际编程中,熟练掌握这些函数的用法对于优化代码质量和效率至关重要。

    有趣的JavaScript数组长度问题代码说明

    本文将通过代码示例,详细探讨JavaScript数组长度问题。 首先,需要注意的是,在JavaScript中,数组可以被视为特殊的对象。这意味着,数组不仅可以包含数字索引的元素,还可以通过字符串作为索引来添加属性。这会...

    js代码-js数组push压栈操作

    `push()`方法是JavaScript数组的一个内置方法,用于在数组的末尾添加一个或多个元素,并返回新的长度。这个方法在处理数据集合时非常有用,尤其是在实现数据结构如栈(Stack)时。栈是一种后进先出(LIFO, Last In ...

    Js数组排序函数sort()介绍

    JavaScript实现多维数组、对象数组排序,其实用的就是原生的sort()方法,用于对数组的元素进行排序。 sort() 方法用于对数组的元素进行排序。语法如下: arrayObject.sort(sortby) 返回值为对数组的引用。请注意,...

    javascript判断数组内是否重复的方法

    总之,判断JavaScript数组中是否存在重复元素可以通过多种方法实现,如双重循环、哈希表以及创建新数组等。其中,使用哈希表的方法在性能上具有显著优势,尤其适用于处理大量数据。理解并掌握这些技巧,有助于我们在...

    基于javascript数组实现图片轮播

    基于JavaScript数组实现图片轮播是一种常见的前端...通过以上步骤和说明,我们可以使用JavaScript数组实现简单的图片轮播功能。这种轮播方法易于实现,适合入门级的学习者掌握,并且可以在此基础上进行功能扩展和美化。

    js数组去重的5种算法实现

    第三种是数组下标判断法,这种方法的基本思路是遍历数组,使用indexOf方法获取当前元素第一次出现的位置,如果当前元素第一次出现的位置不是其遍历到的位置,则说明此元素重复,应当被忽略。这种方法的优点是简单...

    js数组去重的hash方法

    最终,js数组去重的hash方法为我们提供了一种简便有效的方式来处理数组去重问题。了解和掌握这种方法,能够帮助我们在处理数据时更加高效,同时也能加深对JavaScript中对象、数组、类型判断等概念的理解。

    js数组常见操作及数组与字符串相互转化实例详解

    本文主要讲解了JavaScript数组的常见操作以及如何在数组和字符串之间进行转换。以下是一些关键知识点的详细说明: ### 1. 数组与字符串的相互转化 - **字符串转化为数组**: 使用`split()`方法可以将字符串转化...

    js代码-js数组查找元素 find() 方法,只返回第一个匹配元素

    `find()`方法是JavaScript数组的一个内置方法,它允许我们高效地查找数组中满足特定条件的第一个元素。在这个场景中,我们将深入探讨`find()`方法的用法、语法以及其在实际编程中的应用。 `find()`方法的基本语法...

Global site tag (gtag.js) - Google Analytics