百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

javascript自学笔记:Array类型1(javascript数组手册)

off999 2024-11-14 16:54 29 浏览 0 评论


数组是有序的,但每个元素可以保存不同类型的数据,同python。

1、创建

// 创建一个动态长度的新数组
var colors = new Array();// 创建一个定长的数组
var colors = new Array(20);// 创建一个包含3个字符串的数组
var colors = new Array("red","blue","green");// 以字面量表示法创建数组
var colors = ["red","blue","green"];// 创建空数组
var colors = [];

注:使用字面量表示法创建数组时,不会调用Array构造函数

2、读取与添加元素

// 读取,使用索引读取,基于0
var colors = ["red","blue","green"];
alert(colors[0]);// 修改已有值

colors[2] = "black";// 新增,由于原数组没有[4],所以是新增
colors[4] = "brown";// 由于数组基数3没有值,显示出来就是red,blue,black,,brown
alert(colors);// 中间空值的也要算长度,这里显示长度为5
alert(colors.length);// length属性不是只读的,可以通过设置length来改变数组长度
colors.length = 2;// red,blue
alert(colors);// 利用length方便的添加元素
colors[colors.length] = "black";

5.2.1 检测数组

1、instanceof方法

if (colors instanceof Array){
  alert("是数组");
} else {
  alert("不是数组");
}

2、Array.isArray()

if (Array.isArray(colors)){
  alert("是数组");
} else {
  alert("不是数组");
  

5.2.2 转换方法

alert(colors.toLocaleString())  // 字符串 "red,blue,green"
alert(colors.toString())        // 字符串 "red,blue,green"
alert(colors.valueOf())         // Object ["red","blue","green"]
alert(colors)                   // 同toString// 使用join方法输出

alert(colors.join("||"))        // red||blue||green

5.2.3 栈方法

LIFO-Last In First Out 后进先出

// 读取,使用索引读取,基于0
var colors = ["red","blue","green"];// 可以一次压入多个数据,添加到数组尾部

var count = colors.push("black","brown");// 返回数组长度

alert(count);
alert(colors);// 弹出最尾部的一个元素

var newItem = colors.pop();
alert(newItem);
alert(colors.length);

5.2.4 队列方法

var colors = new Array();// 从数组头部添加多个元素到数组

colors.unshift("red","green");
alert(colors);      // red,green// 从头部移除一个元素

colors.shift();     // red

5.2.5 重排序方法

var colors = [1,2,3,4,5];// 反转顺序

colors.reverse();
alert(colors);

var colors = [0,1,5,10,15];// 排序,默认为升序,但每个元素用了toString()方法

colors.sort();
alert(colors);  // 0,1,10,15,5

升序排列:

function compare(value1,value2){
  if (value1 < value2){
    return -1;
  } else if (value1 > value2){
    return 1;
  } else {
    return 0;
  }}
var colors = [0,1,5,10,15];// 排序,默认为升序,但每个元素用了toString()方法

colors.sort(compare);
alert(colors);  // 0,1,5,10,15

如果将return -1改为return 1,则能实现降序。

如果将函数改成这样会更精简:

function compare(value1,value2){
   return value1-value2;   // 升序
   return value2-value1;   // 降序
}

5.2.6 操作方法

扩展数组:concat()

格式:Arr.concat(“yellow”,[“black”,”brown”]);

数组切片:slice(参数1,参数2)

如果只有参数1,则是取参数1开始的元素到最后元素,组成新的数组,原数组不变。

有两个参数时,取第一个参数到第二个参数-1的元素,组成新的数组。

var arr1 = new Array(0,1,2,3,4,5,6);// 只一个参数时,取该基数至最后的元素,组成新的数组

var arr2 = arr1.slice(2);
alert(arr2);    // 2,3,4,5,6// 两个参数时,取开始基数至结束基数-1的元素

var arr3 = arr1.slice(2,4);
alert(arr3);    // 2,3

// 如果参数是负数,则表示从后往前数

var arr3 = arr1.slice(-3,-1);
alert(arr3);    // 4,5

splice()

// 删除从0开始的2个元素
arr1.splice(0,2);   // 2,3,4,5,6
alert(arr1);

// 从序号2的位置,删除0个,并插入新的元素7,8,9
arr1.splice(2,0,7,8,9);
alert(arr1);    // 0,1,7,8,9,2,3,4,5,6

// 从序号2的位置,删除3个,并插入3个元素
var arr2 = arr1.splice(2,3,7,8,9);
alert(arr1);    // 0,1,7,8,9,5,6

// 使用splice后返回的是被删除的元素,如果没有删除,则为空

alert(arr2);    // 2,3,4

总结:slice不影响原数组,splice会影响原数组

5.2.7 位置方法

indexOf(元素,位置)               // 从前往后找

lastIndexOf(元素,位置)                 // 从后往前找

如果有找到,得到位置;没找到则为-1;使用全等于===进行对比。

var arr1 = new Array(1,2,3,4,5,4,3,2,1);
alert(arr1.indexOf(4));     // 序号为3
alert(arr1.indexOf(4,4));   // 序号为5

var arr1 = new Array(1,2,3,4,5,4,3,2,1);
alert(arr1.lastIndexOf(4));     // 序号为5
alert(arr1.lastIndexOf(4,4));   // 序号为3

相关推荐

迅雷手机版高清在线(迅雷手机观看2018)

《海派甜心》是可米瑞智国际艺能有限公司出品的一部青春偶像剧。由林合隆执导,杨丞琳、罗志祥、李威主演。腾讯,爱艺奇上都可以观看

itunes官方下载win7版(windows7下载itunes哪个版本)
itunes官方下载win7版(windows7下载itunes哪个版本)

itunes最新版本已经不支持win10以下系统了,很多商店标的支持win7只是没改,官网已经写的很清楚了,最低Windows10版本16299.0或更高版本。64位版本的Windows需要iTunes64位安装程序,4...

2026-01-16 22:15 off999

免费pdf电子书下载网站(电子书pdf下载专业一点的网站)
  • 免费pdf电子书下载网站(电子书pdf下载专业一点的网站)
  • 免费pdf电子书下载网站(电子书pdf下载专业一点的网站)
  • 免费pdf电子书下载网站(电子书pdf下载专业一点的网站)
  • 免费pdf电子书下载网站(电子书pdf下载专业一点的网站)
腾讯电脑管家官方官网(腾讯电脑管家-软件中心)
  • 腾讯电脑管家官方官网(腾讯电脑管家-软件中心)
  • 腾讯电脑管家官方官网(腾讯电脑管家-软件中心)
  • 腾讯电脑管家官方官网(腾讯电脑管家-软件中心)
  • 腾讯电脑管家官方官网(腾讯电脑管家-软件中心)
破解版传奇游戏无限内购破解版

1/6分步阅读首先,我们先去将游戏软件下载下来,点击页面底部位置的下载按钮,开始进行下载。2/6然后,我们在自己的手机桌面上找到已经下载安装完成好了的游戏软件,点击进入。3/6进入到选择登录方式这个页...

手机浏览器flash插件(5.4英寸的屏幕)

1、在手机的应用商店中,进入到搜索页面之后,输入“Adobeflashplayer”,然后点击搜索,找到就可以安装了2、第二个可以直接通过网页搜索Adobeflashplayer,一定要注意版...

最新卫星地图(最新卫星地图高清在线观看)

实时地球是中科遥感集团开发的中国卫星影像地图软件,被誉为中国版的“谷歌地球”。在线地球采用遥感集市云平台数据接口,每天动态更新高分辨率卫星影像,同时内置近年历史影像存档数据,所有影像免费开放浏览。用...

免费伴奏网(免费伴奏网址大全)

推荐下列5个伴奏网:99伴奏网这个网站提供有很多免费伴奏下载,包括男歌手伴奏,女歌手伴奏,组合伴奏,合唱伴奏,民歌伴奏,儿歌伴奏,改版伴奏,戏曲伴奏,婚礼伴奏等。免费伴奏–乱推网一个伴奏搜索下载网站,...

强力安卓恢复精灵(强力安卓恢复精灵是不是免费的)

您好,强力安卓恢复精灵是不可以恢复微信好友的。删除的好友不能像QQ好友有恢复找回功能,只有另外搜索添加。强力安卓恢复精灵挺好用的,在手机数据删除的时候还可以恢复,特别是将本人删除的微信聊天记录也恢复了...

电脑安装ktv点歌系统(怎么在电脑上安装ktv点歌)

在你的电脑上增加硬盘容量,用来装基本的歌曲库再在电脑上增加一个音视频输出设备,安装一套点歌系统就可以了。(1)硬盘容量大小根据您所需要歌曲的格式及数量来决定。以4分钟的MTV为例,一首DVD歌曲占用...

45到65岁大龄工招工(45到65岁大龄工招工女)

应该有。一般是服务行业,手工业。现在服务行业招不到年轻人,只有年纪大点的才肯应聘。家政公司招人一般会需要,养老机构也需要照顾老年人的人。传统手工业,只有年纪大的人会,必须招人,65岁也可以,特别是旅游...

qq牧场手机版官方下载(qq牧场手机版官方正版下载)

建议进行以下操作:1.检查手机网络连接是否稳定,建议更换无线网络尝试。2.更新软件版本尝试。3.点击手机应用程序-设定-应用程序管理器-已下载-选择出现问题的应用-清除数据4.将数据备份(联系人,短信...

取名软件免费版(取名软件免费版有哪些)

没啥好的软件的,去年年底我家娃起名字的时候,我们也下载了一堆软件,都没啥实用的;要么你付费去让人家起名,要么就用免费的试用一下,多找几个试用,然后把名字汇总起来,再找找合适的!这个肯定是有的,但是亲建...

手机北斗导航下载(手机北斗导航下载哪个软件)

北斗导航没有具体的APP,不能直接使用,但是现在国内的流行导航APP都是使用的北斗导航的地图,所以我们只需要在手机应用商城下载现下的导航APP如高德地图、地图等,就可以在这些软件中使用到北斗导航系统。...

会员管理软件(美发店会员管理软件)

洗车店会员卡管理软件,用电子会员版的好些,客户只需要带上手机,关注微信公众号,登记手机号,就可以查询到会员充值信息、消费信息、卡内余额或项目等信息。还可以发送消费短信,告知客户余额或剩余套餐卡项目,会...

取消回复欢迎 发表评论: