javascript学习(十七)内建对象之数组

1.定义

数组是值的有序集合

字面量形式:

var arr=[]; //空数组
var arr=[1,2,3,1,2];
var arr=[1,2.3,'king',true,null,undefined,[1,2,3],{name:'king',age:12}];
var arr=[1,,3]; //省略数组中的某个值,默认值为undefined

通过构造函数Array()创建数组:

var arr=new Array();    //空数组
var arr=new Array(5);   //代表指定了数组的长度
var arr=new Array(1,2,3,true,'king');   //超过两个参数,显示指定了数组中的值

2.常用方法

(1)Array.push(value,…)

像数组末尾添加一个或者多个元素,返回数组的长度。

(2)Array.unshift(value,…)

向数组开始添加一个或者多个元素,返回数组的长度。

(3)Array.shift()

弹出数组开始的元素,返回弹出之后的值。

(4)Array.join([delimiter])

将数组中的值连接成字符串,返回连接之后的字符串;Array.join()是string.split()方法的逆向操作。

(5)Array.sort()

数组排序函数,如果不带参数调用sort,数组以字母顺序进行升序排序;也可以传入一个自定义排序规则函数。如果数组中包含undefined元素,它们会被排到数组的尾部。

(6)Array.concat(value,…)

创建并返回一个新数组,数组中包含原始数组的元素和concat的每个参数;返回连接之后的新数组。
注意:如果这些参数中的任何一个自身是数组,则连接的是数组的元素,而非数组本身。

(7)Array.slice(start[,end])

从已有的数组中返回选定的元素。
start:必需,规定从何处开始选取。
end:end 可选,规定从何处结束选取,该参数是数组片断结束处的数组下标。

(8)Array.splice(index , howMany[, element1[, …[, elementN]]])

添加或删除数组中的一个或多个元素
index:规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
element1...要添加进数组的元素,如果不指定,则 splice 只删除数组元素。
由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组,如果没有删除元素,则返回空数组。

(9)Array.map()

返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
参数:callback回调函数,currentValue是callback的第一个参数,表示数组中当前被传递的元素;index是callback的第二个参数,数组中当前被传递的元素的索引;array是callback的第三个参数,调用map方法的数组。

(10)Array.filter()

arr.filter(callback)
方法使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组。
filter 为数组中的每个元素调用一次 callback 函数,并利用所有使得 callback 返回 true 或 等价于 true 的值 的元素创建一个新数组

(11)Array.reduce()

array.reduce(callback[, initialValue]);
描述:reduce方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终为一个值。
callback : 函数执行在数组中每个值,previousValue上一次调用返回的值或者是提供的初始值(initialValue);currentValue,数组中当前被处理的元素;index,当前元素在数组中得索引;array,调用reduce的数组。
initialValue : 对象作为第一个参数回调的第一次调用使用

(12)Array.reduceRight()

与reduce()方法的执行方向相反

(13)Array.some()

arr.some(callback)
测试数组中的某些元素是否通过了指定函数的测试
some 为数组中的每一个元素执行一次 callback 函数,直到找到一个使得 callback 返回一个真值(即可转换为布尔值 true 的值)

(16)Array.every()

arr.every(callback)
every 方法为数组中的每个元素执行一次 callback 函数,直到它找到一个使 callback 返回 false(表示可转换为布尔值 false 的值)的元素。如果发现了一个这样的元素,every 方法将会立即返回 false。否则,callback 为每一个元素返回 true,every 就会返回 true。callback 只会为那些已经被赋值的索引调用。不会为那些被删除或从来没被赋值的索引调用。

(17)Array.indexOf()

返回某个指定的字符串值在数组中首次出现的位置。
Array.lastIndexOf()返回最后出现的位置。

(18)Array.isArray()

检测某个值是否为数组

(19)Array.toString()

 返回一个字符串,表示指定的数组及其元素。

3.使用数组

(1)向数组中添加元素

arr[下标]=值;
arr.push(值,...):数组末尾添加元素
arr.shift(值,...):数组开始添加元素

(2)读取数组中元素

arr[下标]

(3)修改数组中的元素

arr[下标]=值;

(4)删除数组中元素

delete arr[下标]:使用delete删除数组元素不会改变数组的length属性
arr.pop():删除数组的元素
arr.unshift():删除数组开头的元素
可以通过设置length属性,删除数组后面的元素

4.遍历数组

for循环遍历下标连续的数组
for-in遍历数组
通过forEach()遍历数组:Array.forEach(function(value[,index[,array]]){函数体})。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值