web挖坑之路

关于数组(array)

2018-08-27  本文已影响18人  不知道取个什么昵称不如娶个媳妇

好的,数组大爷,我错了!!!

怎么肥事呢?原因是我今晚在去重的时候犯了一个错误,用splice()时候用成这个样子了

代码

具体代码我记不住了,犯了这样一个错误。所以总结一下:关于array那些事;


好的,我们开始说事;先来介绍一下array;

array是什么呢?是数组,ok,也是一个对象,不然array怎么可能会有方法呢!array是怎么出来的,换句话说,array的出现解决了什么需求?是这样的,函数在return时候,只能return一个值,而,有些时候我们需要return很多东西,比如string,比如集合什么的。再者,比如,我们下存储一些比较复杂的变量的时候,可能会var很多个变量,这导致,代码长度越来越长,让人难以维护。所以一个比较牛的东西就出现了,那就是array,一个让人脑阔疼的东西。

在w3c上面是这么定义array的:Array 对象用于在单个的变量中存储多个值。ok!

来我们看看怎么创建array对象,也就是数组,我和你们讲array不是一种数据类型,它是对象,他的数据类型也是对象。

no.1 

代码 结果 方法

上面这张图,证明array是对象;

no.2


代码 结果

no.3 

代码 结果

no.4


代码 结果

no.5


代码 结果

ok,可见这种方式和下面一种方式并没有什么差别!

no.6


代码 结果

好的,这就是数组创建的方式!!!!!


关于数组对象的方法:

Array.from()

Array.from() 方法从一个类似数组或可迭代对象中创建一个新的数组实例。

代码 结果

简单的说就是把可以转化为数组的东西,转化为数组。

Array.isArray()

Array.isArray() 用于确定传递的值是否是一个 Array

代码 结果

Array.observe() ------------------------ 已经废弃

Array.observe() 方法用于异步监视数组发生的变化,类似于针对对象的 Object.observe()。当数组的值发生变化时,它按发生顺序提供了一个变化流。与 Object.observe() 类似,它由如下可接受的变化类型列表["add"、"update"、"delete"、"splice"]触发

Array.of()

Array.of()方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。

简单来说,就是把放到of里的参数转化为一个数组,区别与 Array();注意一个是把7当成长度,一个是把7当成元素。

代码 结果

Array.prototype.concat()

concat()方法用于合并两个或多个数组。concat不会更改现有数组,而是返回一个新数组。

代码 结果

Array.prototype.copyWithin()

copyWithin() 方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,而不修改其大小。

arr.copyWithin(target[,start[,end]]) 

target---复制序列到该位置。如果是负数,target将从末尾开始计算。

            注意:如果target大于等于arr.length,将会不发生拷贝。如果target在start之后,复制的序列将被修改以符合arr.length。

start---开始复制元素的起始位置。如果是负数,start将从末尾开始计算。

            注意:如果start被忽略,copyWithin将会从0开始复制。

end---开始复制元素的结束位置。copyWithin将会拷贝到该位置,但不包括end这个位置的元素。如果是负数,end将从末尾开始计算。

            注意:如果end 被忽略,copyWithin 将会复制到arr.length。

代码 结果

Array.prototype.every()

every()方法测试数组的所有元素是否都通过了指定函数的测试。任何一个不通过都返回false

代码 结果

Array.prototype.fill()

用某个元素,填充数组;

fill(curr ,star,end)

curr---某个元素

star---开始位置

end---结束位置

代码 结果

Array.prototype.filter()

filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。换句话说就是这个函数返回一个数组,一个通过你提供的函数的测试的元素。

代码 结果

Array.prototype.find()

find()方法返回数组中满足提供的测试函数的第一个元素的值。否则返回undefined。

代码 结果

Array.prototype.findIndex()

findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。

代码 结果

Array.prototype.forEach()

forEach()方法对数组的每个元素执行一次提供的函数,也就是遍历函数,这个和for 循环 或者for in 循环没有差别,没有返回值,但是可以在forEach中做事;

代码 结果

Array.prototype.indexOf()

indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。

代码 结果

Array.prototype.join()

将数组的元素以某个符号连接起来成为一个字符串,返回值是字符串;

代码 结果

Array.prototype.lastIndexOf()

从数组最后一个元素开始寻找给定元素第一次出现的地方,并返回给定元素的下标

代码 结果

Array.prototype.map()

遍历数组,返回数组(数组长度和源数组一样),其返回的数组是传入函数处理的结果

代码 结果

Array.prototype.pop()

pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。

代码 结果

Array.prototype.push()

往数组后面添加元素

代码 结果

Array.prototype.reverse()

逆序,反转

代码 结果

Array.prototype.shift()

方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。

代码 结果

Array.prototype.slice()

截取元素,返回截取元素的数组,但是不改变原数组

代码 结果

Array.prototype.some()

some()方法测试数组中的某些元素是否通过由提供的函数实现的测试。通过返回true,否则返回false;

代码 结果

Array.prototype.sort()

排序函数

升序传入函数function(a,b){return a-b};

降序传入函数function(a,b){return b-a};

其中a,b相当于数组的相邻两个元素;

代码 结果

Array.prototype.splice()

splice() 方法通过删除现有元素和/或添加新元素来更改一个数组的内容

array.splice(start[,deleteCount[,item1[,item2[,...]]]]);

start​

指定修改的开始位置(从0计数)。如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组末位开始的第几位(从-1计数);如果负数的绝对值大于数组的长度,则表示开始位置为第0位。

deleteCount可选

整数,表示要移除的数组元素的个数。如果 deleteCount 是 0,则不移除元素。这种情况下,至少应添加一个新元素。如果 deleteCount 大于start 之后的元素的总数,则从 start 后面的元素都将被删除(含第 start 位)。

如果deleteCount被省略,则其相当于(arr.length - start)。

item1, item2,...可选

要添加进数组的元素,从start 位置开始。如果不指定,则splice() 将只删除数组元素。

splice方法使用deleteCount参数来控制是删除还是添加:

start参数是必须的,表示开始的位置(从0计数),如:start=0从第一个开始;start>= array.length-1表示从最后一个开始。

①、从start位置开始删除[start,end]的元素。

array.splice(start)

②、从start位置开始删除[start,Count]的元素。

array.splice(start, deleteCount)

③、从start位置开始添加item1, item2, ...元素。

array.splice(start,0, item1, item2, ...)

返回值 由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组。

代码 结果

Array.prototype.toLocaleString()

转换为本地字符

代码 结果

Array.prototype.toString()

转换为字符串

代码 结果

Array.prototype.unshift()

unshift()方法将一个或多个元素添加到数组的开头,并返回新数组的长度。

代码 结果
上一篇 下一篇

猜你喜欢

热点阅读