js-数组

mac2024-05-28  43

数组

1.作用

存放多个数据的集合; 数组的边界"[]",数组的组成称为元素,元素与元素之间通过逗号隔开,元素的数据类型没有限制

2.定义方式

数组字面量 var name = "terry" var arr = [name,1,true,"hello",null,{name:"s"},function(){}];

构造函数 Array

Array 继承 Object 通过Array构造函数构建出来的对象可以调用Array原型中的方法,还可以调用Object原型中的方法

var arr = new Array(); var arr = new Array(length); var arr = new Array(item1,item2,...); arr ->Array.prototype-> Object.prototype

3. 数组访问方式

中括号访问符,索引从0开始,如果指定索引的位置没有值,返回undefined

4. 数组内存

var arr = ["terry",12,[1,2,3]]; arr是变量,保存在栈区 arr是引用数据类型的变量,栈区保存的引用地址,数组的值保存在堆区

5. 数组的属性

数组也是一种对象,length是表示数组长度的属性,length表示数组中元素的个数

6.数组的遍历(循环遍历索引)

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

使用for循环 for(var i = 0 ; i<arr.length; i++){ var val =arr[i] console.log(val); } 使用while使用do-while使用增强for循环 for(var key in arr){ var val = arr[key] }

7. 数组相关的API

1.添加元素移除元素相关【改变原值】

pop(); 出栈,从数组的最后去除一个元素 参数:none 返回值:出栈的元素

shift(); 出队,将数组中第一个元素取出来 参数:none 返回值:出队的元素

unshift(p1,p2,….); 插队,将元素插入在数组的最前面 参数:要插队的元素 返回值:插队后队列的长度

2.排序方法【改变原值】

sort() 按照字符在字符编码表中出现的位置进行排序

sort(conparator) comparator为一个比较器函数,函数可以接受两个值a,b; 当a位于b之前的时候返回

3.序列化方法

toString():将数组转换为字符串,数组中的元素通过逗号连接

join(v):将数组转换为字符串,数组中的元素通过v连接

JSON.stringify():将数组转换为JSON字符串

4.截取方式

concat()【不改变原值】 将参数中的数组和当前数组合并为一个数组 参数:多个数组 返回值:合并后的数组

slice(begin,end)【不改变原值】 从当前数组中截取一个子数组并取范围 参数:begin     起始位置;end     结束位置 返回值:截取到的子数组

splice(begin,delete[p1,p2,p3…])【改变原值】 从数组中删除、插入、更新元素 参数:   begin:起始位置(删除,插入)   delete:删除的个数   p1,p2,….:插入的值 返回值:删除的元素组成的数组

5.迭代方法

forEach(function(item,index,arr){}) 遍历当前数组 参数:function(item,index,arr){}   每次遍历一次,这个匿名函数就会被调用一次,forEach将当前遍历的元素,索 引,当前数组当做实参传递这个匿名函数

every(function(item,index,arr){}) 判断数组中所有的元素是否满足回调函数中给定的条件 参数:function(item,index,arr){}   当每次回调函数返回值为true,every方法的结果就为true,   当回调函数返回值为false,every方法的结果就为false

some(function(item,index,arr){}) 判断数组中是否有满足条件的元素 参数:function(item,index,arr){}   当回调函数返回true,some方法的结果就为true   当每次回调函数返回false,some方法的结果才为false

filter(function(item,index,arr){}) 参数:function(item,index,arr){}   当回调函数返回true,当前元素就会被添加到返回值数组中 返回值:数组

map(function(item,index,arr){}) 参数:function(item,index,arr){}   回调函数可以返回任意类型的值,这些值都会被添加到map方法的返回值数组中 返回值:数组

6.查找方法

indexOf()

lastIndexOf()

最新回复(0)