js数组与数组函数

  • 索引数组
    在这里插入图片描述
var arr1 = [];  //定义一个空数组
arr1[0] = 1;    //向空数组中添加元素
arr1[1] = "hello";
arr1[2]=true; //可向数组中添加任意类型的数据,即混合数组

// 第二种创建空数组的方法
var arr2 = new Array();

//创建数组的同时初始化
var arr3 = [1,2,3];
var arr4 = new Array(1,2,3);
var arr5 = new Array(1,"Li Ming",true);

//数组的长度
var len1 = arr3.length;//返回arr3的长度
var len2 = arr4.length;

var arr6 = [5];
var len3 = arr6.length;  //len3的值为1
var arr7 = new Array(5);
//len4值为5,即创建长度为5的数组
var len4=arr7.length;

//数组的遍历
var arr8 = [1,2,3,4,5];
for(var i = 0; i < arr8.length; i++)
{
	alert(arr8[i]);
}

对于索引数组
1.不限制数组元素的个数,长度可变
2.不限制下标越界,数组越界不报错,返回undefined,可以在指定下标创建新元素,数组长度会自动修改为最大下标加1.
3.不限制元素的数据类型

  • 关联数组
var poem=[];
poem["白居易"]="草";
poem["李白"]="静夜思";
poem["杜甫"]="望岳";

//遍历关联数组用for...in循环
for(var key in poem)
{
	alert(poem[key]);
}

数组函数

  • String():将数组中的每个元素转化为字符串,用逗号分隔
var arr1=[1,2,3];
String(arr1);
alert(arr1);

在这里插入图片描述

  • 数组名.join(“连接符”):将数组中的每个元素转化为字符串,用自定义的连接符分隔。
  • concat():拼接数组,并返回结果
var arr1=[1,2,3];
var arr2=[4,5,6];

var arr3=arr1.concat(arr2);
var arr4=arr1.concat(arr2,7,8,9);

String(arr3);
String(arr4);
alert("arr3:"+arr3);
alert("arr4:"+arr4);

在这里插入图片描述在这里插入图片描述

  • slice():返回数组的一个子数组
var arr1=[1,2,3,4,5];

//arr2=[2,3],即下标从1到2,不包括3,含头不含尾。
var arr2=arr1.slice(1,3);

//arr3将包括从下标1到数组结束的元素
var arr3=arr1.slice(1);

// arr4=[3,4],倒着数,也是含头不含尾,-3时头。当需要选取的元素离结尾近时可以这样用
var arr4=arr1.slice(-3,-1);

//可通过这种方式复制数组
var arr5=arr1.slice(0,arr1.length);
//或者简写成
var arr6=arr1.slice();
  • splice():修改数组
    1.删除
var arr1=[1,2,3,4,5];

// 从arr1的下标2开始删除2个元素,返回删除的元素,此时arr1=[1,2,5],arr2=[3,4].
var arr2=arr1.splice(2,2);
alert(String(arr2));

在这里插入图片描述2.插入

var arr1=[1,2,3,4,5];

// 从下标2开始删除0个元素,然后在下标2处插入两个元素98、99,相当于插入
arr1.splice(2,0,98,99);
alert(String(arr1));

在这里插入图片描述3.替换

var arr1=[1,2,3,4,5];

//从下标2开始删除2个元素,并在下标2处插入2个元素,相当与替换,删除的元素数量可以和新插入的元素数量不同
arr1.splice(2,2,98,99);
alert(String(arr1));

在这里插入图片描述

  • reverse():颠倒数组中元素的顺序
var arr1=[1,2,3,4,5];

arr1.reverse();
alert(String(arr1));

在这里插入图片描述

  • sort():将所有元素转化为字符串再排序,所以有一定的局限性。
var arr1=[2,4,3,5,1];
var arr2=["abc","acc"];

arr1.sort();
arr2.sort();
alert(String(arr1));
alert(String(arr2));

在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值