JavaSrprit的数组

本文详细介绍了JavaSrprit中的数组,包括数组定义、创建、访问方式,以及各种操作方法,如unshift(), push(), pop(), shift(), sort(), slice(), splice(), concat(), reverse()和toString()等。同时讲解了如何通过索引访问数组元素,数组长度的获取,以及多维数组的概念。" 78487603,1104945,使用GridViewHelper实现分组和统计,"['数据展示', '数据处理', 'ASP.NET', '数据库']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaSrprit的数组

1数组定义,数组的特点

数组对象是使用单独的变量名来存储一系列的值。

如果你有一组数据(例如:车名字),存在单独变量如下所示:

var car1=“Saab”;
var car2=“Volvo”;
var car3=“BMW”;

然而,如果你想从中找出某一辆车?并且不是3辆,而是300辆呢?这将不是一件容易的事!

最好的方法就是用数组。

数组可以用一个变量名存储所有的值,并且可以用变量名访问任何一个值。

数组中的每个元素都有自己的的ID,以便它可以很容易地被访问到。

6.2 创建数组

创建一个数组,有三种方法。

下面的代码定义了一个名为 myCars的数组对象:

1: 常规方式:

var myCars=new Array();
myCars[0]=“Saab”;
myCars[1]=“Volvo”;
myCars[2]=“BMW”;

2: 简洁方式:

var myCars=new Array(“Saab”,“Volvo”,“BMW”);

3: 字面量:

var myCars=[“Saab”,“Volvo”,“BMW”];

6.3 访问数组

通过指定数组名以及索引号码,你可以访问某个特定的元素。
下标 从 0 开始 ,下标0 是第一个元素

访问格式:

数组名【下标】

以下实例可以访问myCars数组的第一个值:

var name=myCars[0];

以下实例修改了数组 myCars 的第一个元素:

myCars[0]=“Opel”;

[0] 是数组的第一个元素。[1] 是数组的第二个元素。

在一个数组中你可以有不同的对象

所有的JavaScript变量都是对象。数组元素是对象。函数是对象。

因此,你可以在数组中有不同的变量类型。

可以在一个数组中包含对象元素、函数、数组:

myArray[0]=Date.now;
myArray[1]=myFunction;
myArray[2]=myCars;

6.4 数组长度

使用数组对象预定义属性 arr.length — 数据的个数

6.5数组中常用的方法

6.5.1数组元素的添加和删除

unshift()

在数组的开头添加新元素 - unshift() -----返回值是 添加后数组的长度

在这里插入代码片
<script>
function myFunction(){
	var fruits = ["Banana", "Orange", "Apple", "Mango"];
	fruits.unshift("Lemon","Pineapple");
	var x=document.getElementById("demo");
	x.innerHTML=fruits;
}
</script>

push()

数组的末尾添加新的元素 - push() — 返回值 是 添加后数组的长度

在这里插入代码片
<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
function myFunction(){
	fruits.push("Kiwi")
	var x=document.getElementById("demo");
	x.innerHTML=fruits;
}
</script>

pop()

删除数组最后一个元素 - pop() ----- 返回删除的数据

在这里插入代码片

<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
function myFunction(){
	fruits.pop();
	var x=document.getElementById("demo");
	x.innerHTML=fruits;
}

shift()

删除数组第一个元素 - shift() — 返回 是删除的元素数据

在这里插入代码片
<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
function myFunction(){
	var delell = fruits.shift();
	var x=document.getElementById("demo");
	x.innerHTML= '删除后数组为:' +  fruits;
	document.getElementById("demo2").innerHTML= '删除的元素是:' +  delell;
}
</script>

6.5.2 join()

用数组的元素组成字符串 - join()

join() 方法用于把数组中的所有元素放入一个字符串。

元素是通过指定的分隔符进行分隔的。

语法

arrayObject.join(separator)
参数描述
separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。

返回值

返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入 separator 字符串而生成的。

在这里插入代码片
<script>
function myFunction(){
	var fruits = ["Banana", "Orange", "Apple", "Mango"];
	var x=document.getElementById("demo");
	x.innerHTML=fruits.join();
}

6.5.4 sort()

数组排序(按字母顺序升序)- sort()

在这里插入代码片
<script>
function myFunction(){
	var fruits = ["Banana", "Orange", "Apple", "Mango"];
	fruits.sort();
	var x=document.getElementById("demo");
	x.innerHTML=fruits;
}
</script>
数组排序(按数字顺序升序)- sort()
注意 sort() – 传一个函数参数 并返回 顺序值 a-b
在这里插入代码片
arr.sort( function(a,b){

	 	 return  a - b
	 })


<script>
function myFunction(){
	var points = [40,100,1,5,25,10];
	points.sort(function(a,b){return a-b});
	var x=document.getElementById("demo");
	x.innerHTML=points;
}
</script>
数组排序(按数字顺序降序)- sort()
注意 sort() – 传一个函数参数 并返回 顺序值 b-a
在这里插入代码片
arr.sort( function(a,b){

	 	 return  b - a
	 })

<script>
function myFunction(){
	var points = [40,100,1,5,25,10];
	points.sort(function(a,b){return b-a});
	var x=document.getElementById("demo");
	x.innerHTML=points;
}
</script>

6.5.6 slice()

从一个数组中选择元素 - slice()

slice() 方法可从已有的数组中返回选定的元素。

语法

arrayObject.slice(start,end)
参数描述
start必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
在这里插入代码片
<script>
function myFunction(){
	var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
	var citrus = fruits.slice(1,3);
	var x=document.getElementById("demo");
	x.innerHTML=citrus;
}
</script>

​ **注释:**您可使用负值从数组的尾部选取元素。

**注释:**如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。

6.5.7 splice()

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。 —万能公式。

**注释:**该方法会改变原始数组。

语法

arrayObject.splice(index,howmany,item1,.....,itemX)
参数描述
index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。下标
howmany必需。要删除的项目数量。如果设置为 0,则不会删除项目。 数量
item1, …, itemX可选。向数组添加的新项目。 添加的数据

返回值

类型描述
Array包含被删除项目的新数组,如果有的话。

说明

splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。

**注释:**请注意,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。

6.5.8 concat()

concat() 方法用于连接两个或多个数组。

该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

语法

arrayObject.concat(arrayX,arrayX,......,arrayX)
参数描述
arrayX必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。

返回值

返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。

6.5.9 reverse()

reverse() 方法用于颠倒数组中元素的顺序。

语法

arrayObject.reverse()

提示和注释

**注释:**该方法会改变原来的数组,而不会创建新的数组。

实例

在本例中,我们将创建一个数组,然后颠倒其元素的顺序:

在这里插入代码片

输出:

George,John,Thomas
Thomas,John,George


6.5.10 toString()

toString() 方法可把数组转换为字符串,并返回结果。

语法

arrayObject.toString()

返回值

arrayObject 的字符串表示。返回值与没有参数的 join() 方法返回的字符串相同。

说明

当数组用于字符串环境时,JavaScript 会调用这一方法将数组自动转换成字符串。但是在某些情况下,需要显式地调用该方法。

6.6数组遍历

6.6.1 for循环:使用频率最高,也是最基本的一种遍历方式。


```handlebars
在这里插入代码片
var arr = ['a','b','c','d','e'];
for (var i = 0, i < arr.length; i++) {
    console.log(i);       //  0 1 2 3 4
    console.log(arr[i]);  //a b c d e
}

## 6.6.2 for...in循环:for...in循环可用于循环对象和数组



var arr = [‘a’,‘b’,‘c’,‘d’,‘e’];
for(var i in arr) {
console.log(i); // 0 1 2 3 4 返回数组索引
console.log(arr[i]) // a b c d e
}






数组去重复

```handlebars
在这里插入代码片
function quchong(arr){
			var marr=[];
			for(var i in arr){
				if(marr.indexOf(arr[i])==-1){
					marr.push(arr[i]);
				}
			}
			return marr;
		}


	注:arr.indexOf(值),获取某个值在数组中的元素的索引值,如果不存在返回-1

6.7检测数组

检测数组: instanceof 判断一个对象是不是数组 // 实例 instanceof 对象
isArray(变量名) 如果是数组,返回true,不是数组返回false // Array.isArray()

6.8多维数组 (二维)

在这里插入代码片
    var a=[1,2,3]
	var b=[[11,22,33],["aa","bb","cc"],["xx","yy","zz"]]
	b[1][1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值