数组的概念:
很多时候我们发现还需要有序集合,里面的元素都是按顺序排列,例如,我们可能需要存储一些列表,比如需要存储一些列表,比如用户,商品以及HTMl元素等。
这里使用对象就不方便了,因为对象不能提供能够管理元素顺序的方法。我们不能在已有的元素之间插入一个新的属性。这种场景下对象就不太使用了。

数组创建方式
字面量创建:
var arr1=[ ];创建一个空数组
var arr=[3] 创建一个具有单个元素的数组
var arr=[2,3,4]创建一个具有多个元素的数组

构造函数创建
var arr=new Array()创建一个空数组
var arr=new Array(3)场景一个长度为3,值为空的数组
var arr=new Array(1,2,3);创建一个具有多个元素的数组

//数组就像对象一样,可以以逗号结尾

数组存储的数据可以分为几大类
1.arr=[1,2,3] 称为数值数组
2.arr=[1,‘a’,’c‘,‘d’,‘b’] 有数值有字符的称 字符数组
3 var arr = [{},{},{}]; // 都是对象 // 叫对象数组,不好听,json数组
4.arr=[[1,2,3],[3,4,5],[6,7,8][ 4,5,6]]大括号里面套多个小括号称二维数组
5,var arr=[‘apple’,{name:‘john’},true,function(){alert(‘hello’);}];
//获取索引为1的对象然后显示它的name
alert(arr[1].name); //john
//获取索引为3的函数并执行
arr3;//hello

数组的使用
1.使用for循环
for(var i=0;i<arr.length;i++){
console.log(arr.[i])}

2.也可以使用下标
var arr=[1,2,3,4,5,6]
console.log(arr[0]) //1
console.log(arr[1]) //2

可以替换元素
arr[2]=‘a’//
console.log(arr) //1,2,a,4,5,6

数组的方法;
splice()
功能:向数组中添加,或从数组删除,或替换数组中的元素,然后返回被删除/替换的元素
参数:splice(start,num,data1,data2,…)所有参数全部可选
1,不传参时,无操作
var arr=[‘tom’,‘jack’,‘lucy’,‘lily’,‘may’]
console.log(arr.splice()); //[]
console.log(arr)//[‘tom’,‘jack’,‘lucy’,‘lily’,‘may’] 无操作

2,只传入start:表示从索引为start的数据开始删除,直到数组结束
var arr=[‘tom’,‘jack’,‘lucy’,‘lily’,‘may’]
console.log(arr.splice(2))//[‘lucy’,‘lily’,‘may’]
console.log(arr)//[‘tom’,‘jack’] //原数组改变

3,传入start和num表示从索引为start的数据开始删除,删除num个
var arr=[‘tom’,‘jack’,‘lucy’,‘lily’,‘may’];
console.log(arr.splice(2,2))//[‘lucy’,‘lily’]
console.log(arr)//[‘tom’,‘jack’,'may] 原数组改变

4传入更多,表示从索引为start的数据开始删除,删除num个,并将第三个参数及后面所有参数,插入到start的位置
var arr=[‘tom’,‘jack’,‘lucy’,‘lily’,‘may’]
console.log(arr.splice(2,2,‘a’,‘v’)) //[]
console.log(arr)//[‘tom’,‘jack’,‘a’,‘v’,‘may’] 原数组改变

join()
功能:根据指定分隔符将数组中的所有元素放入一个字符串,并返回这个字符串
参数:join(str);参数可选,默认为’,‘号,以传入的字符作为分隔符
var =[1,2,3];
console.log(arr.join()); //1,2,3
console.log(arr.join(’-’)// 1-2-3
console.log(arr) //[1,2,3]原数组未改变

slice()
功能:可从已有的数组中返回选定的元素,该方法接收两个参数slice(start,end)strat为必选,表示从第几位开始;end为可选,表示到第几位结束(不包含end位),省略表示到最后一位;start和end都可以为负数,负数时表示从最后一位开始算起,如-1表示最后一位。
参数:slice(startIndex,endIndex)
var arr=[‘tom’,‘jack’,‘lucy’,‘lily’,‘may’]
console.log(arr.slice(1,3)) //[‘jack’,‘lucy’]
console.log(arr.slice(1)) //[‘jack’,‘lucy’,‘lily’.‘may’]
console.log(arr.slice(-4,-1))///[‘jack’,‘lucy’,‘lily’]
console.log(arr.slice(-2))//[‘lily’,‘may’]
console.log(arr.slice(1,-2))//[‘jack’,‘lucy’]
console.log(arr)//[‘tom’,‘jack’,‘lucy’,‘lily’,‘may’] 原数组未改变

pop()
功能:方法用于删除并返回数组的最后一个元素
参数:无
var arr=[1,2,3]
console.log(arr.pop()); //3
console.log(arr) //[1,2] 原数组改变

concat()
功能:用于链接两个或多个数组,该方法不会改变现有数组,而仅仅会返回被链接数组的一个副本
参数:所有参数可选,要合并的数据;
var arr1=[1,2,3]
var arr2=arr1.concat()
console.log(arr1); //[1,2,3]
console.log(arr1===arr2) //false
console.log(arr2);//[1,2,3]
console.log(arr1.concat(‘hello’,‘world’)); //[1,2,3,‘hello’,‘world’]
console.log(arr1.concat([‘a’,‘b’],[[3,4],{‘name’:‘admin’}]));//1,2,3,‘a’,‘b’,[3,4],{‘name’:'admin‘}]
console.log(arr1) //[1,2,3]原数组未改变

push()
功能:在末端添加一个元素,或者多个元素,并返回新的长度
参数:push(newData1.newData2,…)
var arr=[1,2,3]
console.log(arr.push(‘hello’));//4
console.log(arr) //[1,2,3,‘hello’] 原数组改变
console.log(arr.push(‘a’,‘b’));//6
console.log(arr) //[1,2,3,‘hello’,‘a’,‘b’] 原数组改变

shift()
取出队列最前端的一个元素,整个队列往前移,这样原先排第二的元素现在排在了第一
参数:无
var arr=[1,2,3]
console.log(arr.shift()) //1
console.log(arr) //[2,3] 原数组改变

unshift()
功能:向数组的开头添加一个或更多元素,并返回新的长度
参数:unshift(newData1,newData2,…)
var arr=[1,2,3];
console.log(arr.unshift(‘hello’));返回数组长度为4
console.log(arr)//[‘hello’,1,2,3] 原数组改变
console.log(arr.unshift(‘a’,‘b’)) //6
console.log(arr) //[‘a’,‘b’,‘hello’,1,2,3] 原数组改变

reverse()
功能:颠倒数组中元素的顺序
参数:无
var arr=[1,2,3];
console.log(arr.reverse());//[3,2,1]
console.log(arr) [3,2,1] 原数组改变

sort()
功能:对数组中的元素进行排序,默认是升序
var arr=[4,3,2,5,6]
console.log(arr.sort());//[2,3,4,5,6]
console.log(arr) //[2,3,4,5,6] 原数组改变
但是在排序前,会先调用数组的toString方法,将每个元素都转成字符之后,再进行排序,此时会按照字符串的排序,逐位比较,进行排序。
var arr=[5,34,52,23,64,]
console.log(arr.sort());//[23,34,5,52,64 ]
console.log(arr)//[23,34,5,52,64 ] 原数组改变

参数:sort(callback)
如果需要按照数值排序,需要传参。sort(callback) callback为回调函数,该函数应该具有两个参数,比较这两个参数,然后返回一个用于说明这两个值的相对顺序的数字(a-b)其返回值如下、
若a小于b,返回一个小于0的值
若a等于b,则返回0;
若a大于b,则返回一个大于0的值
var arr=[6,1024,52,256,369];
console.log(arr.sort(fn))//[6,52,256,369,1024]
console.log(arr) //[6,52,256,369,1024]原数组改变
function fn(a,b){
return a-b
}

toString()
功能:转换成字符串,类似于没有参数的join().该方法会在数据发生隐式类型转换时被自动调用,如果手动调用,就是直接转为字符串。
参数:无
var arr=[1,2,3]
console.log(arr.toString())//1,2,3,
console.log(arr) [1,2,3] 原数组未改变

valueOf()
功能:返回数组的原始值(一般情况下其实就是数值自身),一般由js在后台调用,并不显式的出现在代码中
参数:无
var arr=[1,2,3]
console.log(arr.valueOf()) //[1,2,3]
console.log(arr)//[1,2,3]
//为了证明返回的是数组自身
console.log(arr.valueOf()==arr) //true

indexOf()
功能:根据指定的数据,从左向右,查询在数组中出现的位置,如果不存在指定的数据,返回-1
该方法是查询方法,不会对数组产生改变
参数:indexOf(value,start);value为了查询的数据;start为可选,表示开始查询的位置,当start为负数的时候,从数组的尾部向前数,如果查询不到value的存在,则方法返回-1
var arr=[‘h’,‘e’,‘l’,‘l’,‘o’]
console.log(arr.indexof(‘l’))//2
console.log(arr.indexOf(‘l’,3))//3 //判断第三位是否为l 是返回位置
console.log(arr.indexOf(‘l’,4))//-1 //判断第四位是否为l 否返回位置-1
console.log(arr.indexOf(‘l’,-1)) //-1 //判断倒数第一位是否为L 否返回位置-1
console.log(arr.indexOf(‘1’,-3)) //2 //判断倒数第三位是否为L 是返回位置从左往右数的位置

lastIndexOf()
功能:根据指定的数据,从右向左,查询在数组中出现的位置,如果不存在指定的数据,返回-1
var arr=[‘h’,‘e’,‘l’,‘l’,'o]
console.log(arr.lastIndexOf(‘l’)) //3 判断从右到左L位置是哪一位
console.log(arr.lastIndexOf(‘l’,3))// 3 判断从右到左第三位数是否是l,如果是返回位置
console.log(arr.lastIndexOf(‘l’,1)) //-1判断从右到左第一位数是否是l,如果否返回-1
console.log(arr.lastIndexOf(‘l’,3)) //2判断从右到左第三位数是否是l,如果是返回位置
console.log(arr.lastIndexOf(‘1’,-4))//-1判断从右到左第4位数是否是l,如果否返回-1

逆战班学习之javascript内置对象之–数组相关推荐

  1. javaScript基础学习 - 14 - JavaScript内置对象 -案例代码

    javaScript基础学习 - 14 - JavaScript内置对象 -案例代码 1. Math对象最大值 2. 封装自己的数学对象 3. Math绝对值和三个取整方法 4. Math对象随机数方 ...

  2. 前端学习之JavaScript——内置对象

    1. 内置对象 JavaScript 中的对象分为3种:自定义对象 .内置对象. 浏览器对象 前面两种对象是JS 基础 内容,属于 ECMAScript: 第三个浏览器对象属于我们JS 独有的 内置对 ...

  3. javascript 内置对象学习 笔记:

    一. JavaScript 对象1.function 对象创建: function xxx(参数1,参数2,...参数n){方法体;}调用: xxx(参数1,参数2,...参数n)特点:a 方法定义时 ...

  4. JavaScript进阶 - 第7章 JavaScript内置对象

    第7章 JavaScript内置对象 7-1 什么是对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的, ...

  5. 04-前端技术_ javaScript内置对象与DOM操作

    目录 五,javaScript内置对象与DOM操作 1,JavaScript对象定义和使用 2,JavaScript内置对象 2.1 Array数组 2.1.1 创建方式 2.1.2 常用属性: 2. ...

  6. JavaScript内置对象(内置对象、查文档(MDN)、Math对象、日期对象、数组对象、字符串对象)

    目录 JavaScript内置对象 内置对象 查文档 MDN Math对象 Math概述 案例一:封装自己的对象 随机数方法 random() 案例一:猜数字游戏 日期对象 Date 概述 Date( ...

  7. JavaScript内置对象-Math对象

    JavaScript内置对象-Math对象 1.内置对象 2.查文档 2.1.MDN 2.2.如何学习对象中的方法 3.Math内置对象 3.1.求最大值 3.2.封装自己的数学对象 3.3.Math ...

  8. JavaScript 内置对象(一):Array 对象(构造函数、属性和方法)

    Date 对象就是日期对象,它可以表示从年用毫秒的所有时间和日期.该对象是 JavaScript 内置对象中使用频率最高的一个对象. 1.Date 对象的构造函数 Date 对象的构造函数有以下4种: ...

  9. JavaScript 内置对象(二):Date 对象(构造函数、属性和方法)

    Date 对象就是日期对象,它可以表示从年用毫秒的所有时间和日期.该对象是 JavaScript 内置对象中使用频率最高的一个对象. 1.Date 对象的构造函数 Date 对象的构造函数有以下4种: ...

最新文章

  1. cordova + vue cli构建跨平台应用
  2. Android使用SQLite数据库(1)
  3. 中科院开源协会镜像站 Android SDK镜像测试发布
  4. mac下的tensorflow报错提示没有models库
  5. Python实现单例模式常量类
  6. 面试准备——Struts2相关问题
  7. c语言经典编程案例猜数字,用c语言编程猜数字
  8. SQLServer约束介绍
  9. QT pro文件详解
  10. 如何运行ruby代码
  11. mac地址转换_mac电脑格式转化工具
  12. mysql-connector-java-5.1.22下载及安装
  13. 推荐几本 Go 语言电子书
  14. java毕业设计_智能出差报销管理系统
  15. 最小二乘支持向量机分类器(LSSVM)及Python实现
  16. 计算机控制pwm,如何制作自制脉宽调制(PWM)电机控制电路
  17. /etc/security/limits.conf 详解与配置
  18. php取微信名字和头像,微信小程序如何获取用户头像和昵称
  19. 【翻译】Visual Place Recognition_ A Survey视觉场景识别综述【四】
  20. 本机与虚拟机WIN7之间互传文件

热门文章

  1. android智能电视使用方法,安卓系统智能电视使用方法
  2. 源码篇-2048小游戏(需要EasyX图形库)
  3. Java实现lagrange 插值法
  4. [戴爾*卡耐基]個人簡介
  5. 力扣刷题篇——双指针
  6. 认知空间是什么意思_为什么很多女生都是“路痴”| 男女的空间认知有什么差异...
  7. 《追风筝的人》读书笔记暨读后感
  8. 经典java程序源代码_【转】经典Java程序源代码(一)
  9. 奥鹏教育微学吧JAVA答案_西交20秋《Java语言》在线作业【标准答案】
  10. 三网融合触发MeeGo风暴