concat
var a=[1,2,3];a.concat([4,5,6],7,8);//[1,2,3,4,5,6,7,8]注意A数组没有变化,只返回一个新数组。
复制内部
它接受三个参数。
目标(必需):替换此职位的数据。开始(可选):从此位置读取数据,默认值为0。如果是负数,则表示倒数。End(可选):在到达该位置之前停止读取数据,默认情况下该位置等于数组长度。如果是负数,则表示倒数。
这三个参数应该是数值,如果不是,它们会自动转换成数值
//将3号位复制到0号位[1,2,3,4,5]。在(0,3,4)//[4,2,3,4,5]///-2相当于3号位,-1相当于4号位[1,2,3,4,5 3,4,5]//将3号位复制到0号位[]。复制内部。调用({length : 5, 1},0,3)/{ 0: 1, 1,length : 5 }//结束位2到数组,并将其复制到i32a . copy inner(0,2);//Int32Array [3,4,5,4,5] //对于不部署TypedArray//的copy inner方法的平台,应采用以下写法[]。复制内部。call (new int32array ([1,2,3,4,5]),0,3,4;//Int32Array [4,2,3,4,5]条目
var a=[1,2,3];var en=a . entries();en.next()。价值;//[0.1];返回迭代对象
每一
函数isBigEnough(元素、索引、数组){ return(元素=10);}var传递=[12,5,8,130,44]。每一个(IsBiagough);//传递的是falsepassed=[12,54,18,130,44]。每一个(IsBiagough);//通过为真。每个项目通过测试函数返回真,否则返回假
充满
[1, 2, 3].填充(4) //[4,4,4][1,2,3]。填充(4,1) //[1,4,4][1,2,3]。填充(4,1,2) //[1,4,3][1,2,3]。填充(4,1,1) //[1,2,3][1,2,3]。填充(4,-3,-2) //[4,2,3][1,2,3]。填充(4,NaN,NaN) //[1,2,3]数组(3)。填充(4);//[4,4,4] [].fill.call ({length : 3},4)//{0: 4,1: 4,2: 4,length : 3}更改数组本身。
过滤器
函数IsBiegeaugh(value){返回值=10;}var filtered=[12,5,8,130,44]。过滤器(IsBiGaugh);//filtered is [12,130,44]返回一个新数组
发现
方法返回数组中满足所提供的测试函数的第一个元素的值。否则,返回undefind
函数IsBiegeaugh(element){ return element=15;}[12, 5, 8, 130, 44].find(IsBiagough);//130findIndex
findIndex()方法返回数组中满足所提供测试函数的第一个元素的索引。否则,返回-1。
函数IsBiegeaugh(element){ return element=15;}[12, 5, 8, 130, 44].find index(IsBiagough);//3forEach
让a=['a ',' b ',' c '];a.forEach(函数(元素){ console.log(元素);});//a//b//c//语法array.foreach(回调(当前值、索引、数组){//做点什么},this) array.foreach(回调[,this arg])回调
为数组中的每个元素执行的函数,它接收三个参数:currentValue(当前值)数组中正在处理的当前元素。索引数组中正在处理的当前元素的索引。arrayforEach()方法正在操作的数组。此参数可选可选参数。执行回调函数时用作此(引用对象)的值。注意:除了抛出异常,没有任何方法可以中止或跳出forEach循环。如果需要这样,使用forEach()方法是错误的。你可以用一个简单的循环来代替。如果您正在测试数组中的某个元素是否满足某个条件,并且需要返回一个布尔值,则可以使用Array.every、Array.some .如果可用,新方法find()或findIndex()也可以用于真理测试的提前终止。
包括
由…改编包括(搜索元素)arr。包括(搜索元素,来自索引)参数
searchElement
要查找的元素值。
fromIndex
可选择的
从该索引中搜索搜索元素。如果为负,则搜索从数组的索引开始。长度从索引开始,按升序排列。默认值为0。
返回值
一个布尔值。
[1, 2, 3].包括(2);//true[1,2,3]。包括(4);//false[1,2,3]。包括(3,3);//false[1,2,3]。包括(3,-1);//true[1,2,NaN]。包括(NAn);//trueindexOf
逮捕。(searchelement) arr的索引。(searchelement [,from index=0])参数的索引
searchElement
要查找的元素
fromIndex
开始搜索的位置。如果索引值大于或等于数组的长度,则意味着不会在数组中搜索它,并返回-1。如果参数中提供的索引值是负值,它将用作数组末尾的偏移量,即,-1表示从最后一个元素开始搜索,-2表示从倒数第二个元素开始搜索,依此类推。注意:如果参数中提供的索引值为负值,则仍然从前向后查询数组。如果偏移后的索引值仍然小于0,将查询整个数组。其默认值为0。
返回值
数组中第一个找到的元素的索引位置;如果没有找到,则返回-1
设a=[2,9,7,8,9];a . indexof(2);//0 a . indexof(6);//-1a . indexof(7);//2a . indexof(8);//3a . indexof(9);//1if (a.indexOf(3)===-1) { //数组}联接中不存在元素
Str=arr.join()//默认为',' Str=arr.join(')//分隔符==空字符串' ' str=arr . join(分隔符)//分隔符键
keys()方法返回一个新的数组迭代器,其中包含数组中每个索引的键
让arr=['a ',' b ',' c '];让迭代器=arr . keys();//undefinedconsole.log(迭代器);//Array Iterator { } console . log(Iterator . next());//对象{value: 0,done : false } console . log(iterator . next());//对象{value: 1,done : false } console . log(iterator . next());//对象{value: 2,done : false } console . log(iterator . next());//对象{value:未定义,done: true }映射
map()方法创建一个新数组,结果是数组中的每个元素调用提供的函数后返回的结果。
let array=arr.map(函数回调(currentValue,index,array){//new _ array的Return元素}[,thisArg])让numbers=[1,5,10,15];让double=numbers . map((x)={ return x * 2;});//double现在是[2,10,20,30]//numbers仍然是[1,5,10,15]让numbers=[1,4,9];让根=numbers . map(math . sqrt);//root现在是[1,2,3]//numbers仍然是[1,4,9]回调
生成新数组元素的函数接受三个参数:
当前值
回调的第一个参数,数组中正在处理的当前元素。
指数
回调的第二个参数是数组中正在处理的当前元素的索引。
排列
回调的第三个参数,调用map方法的数组。
这个参数
可选。执行回调函数时使用的值。
返回值
一个新的数组,每个元素都是一个回调函数的结果。
弹出并推动
pop()方法从数组中删除最后一个元素并返回其值。此方法更改数组的长度。
push()方法将一个或多个元素添加到数组的末尾,并返回数组的新长度。
arr.push(元素1,elementN)
合并两个数组
该示例使用apply()添加第二个数组的所有元素。
请注意,当第二个数组(例如示例中的moreVegs)太大时,不要使用此方法合并数组,因为事实上,一个函数可以接受的参数数量是有限的。详情请参考应用()
var蔬菜=['parsnip ','马铃薯'];var moreVegs=['芹菜','甜菜根'];//将第二个数组合并到第一个数组//相当于蔬菜. push('芹菜','甜菜');Array.prototype.push.apply(蔬菜,more vegs);console.log(蔬菜);//['欧洲防风草','马铃薯','芹菜','甜菜']减少和减少对
reduce()方法对累加器和数组中的每个元素(从左到右)应用一个函数,将其减少到一个值。
array.reduce(函数(累加器、currentValue、currentIndex、array)、initialValue)var total=[0,1,2,3]。reduce(函数(sum,value) {返回sum值;}, 0);//total是6var扁平化=[[0,1],[2,3],[4,5]]。reduce(函数(a,b){ return a . concat(b);}, []);//扁平化是[0,1,2,3,4,5]回调
执行数组中每个值的函数,该数组包含四个参数
蓄电池
上次调用回调返回的值,或提供的initialValue。
当前值
数组中正在处理的元素
currentIndex
数据中正在处理的元素的索引,如果提供了initialValue,则从0开始;否则,从1开始
排列
调用减少的数组
初始值
可选,其值首次用于回调的第一个参数。如果没有设置初始值,数组中的第一个元素将作为初始值。当空数组调用reduce时,它将报告一个错误,而不设置初始值。
PS:的执行方向与reduceRight()和reduce()相反
反面的
reverse方法反转数组中元素的位置,并返回对数组的引用。
移位和卸载
shift()方法从数组中删除第一个元素并返回其值。此方法更改数组的长度。
unshift()方法将一个或多个元素添加到数组的开头,并返回新数组的长度。
薄片
slice()方法将从开始到结束(不包括结束)所选数组的一部分的浅拷贝返回到新的数组对象。原始数组不会被修改。
arr . slice();//[0,结束];arr . slice(start);//[开始,结束];arr.slice(开始,结束);//[开始,结束];Slice不修改原始数组,只返回一个新数组,其中原始数组中的元素被轻微复制。将根据以下规则复制原始数组的元素:
如果元素是对象引用(不是实际对象),切片会将对象引用复制到新数组中。两个对象引用引用同一个对象。如果引用的对象发生变化,新数组和原始数组中的这个元素也会发生变化。
对于字符串、数字和布尔值,它不是字符串、数字或布尔值。slice会将这些值复制到新数组中。在另一个数组中修改这些字符串、数字或布尔值不会影响另一个数组。
如果两个数组中的任何一个添加了新元素,另一个都不会受到影响
一些
some()方法测试数组中的某些元素是否通过了由提供的函数实现的测试。
const isBiggerThan10=(元素、索引、数组)={ return element 10}[2, 5, 8, 1, 4].有的(isbiggerthan 10);//false[12,5,8,1,4]。有的(isbiggerthan 10);//truesel isting和toString
ToLocaleString()返回表示数组中元素的字符串。数组中的元素将使用各自的toLocaleString方法转换为字符串,这些字符串将由特定语言环境的字符串分隔(例如,逗号',')。
var数=1337;var Date=new Date();var MyArr=[数字、日期、' foo '];var str=MyArr . ToLocalString();console . log(str);//output' 1,337,2017/8/13,8:32336024,foo'/假设用中文(zh-CN)运行,北京时区var a=1234a。tostring()//' 1234 ' a . to localstring(。ToLocaleString()将以三位数分隔这些数字。和我们一样,有时候数字会是三位数和一个分号var SD=new date()SD//wed feb 15 2017 11:21336031 GMT 0800(CST)SD。tolocalstring ()//'2017/2/15,11:21336031' SD。托斯特林' 2017年2月15日星期三11:21:31格林尼治标准时间0800时'
接合
splice()方法通过删除现有元素和/或添加新元素来更改数组的内容。
array . splice(start)array . splice(start,deleteCount) array.splice(start,deleteCount,item1,item2,)开始
指定修改的开始位置(从0开始计算)。如果超过数组长度,则从数组末尾添加内容;如果为负,则表示从数组最后一位开始的位数(从1开始计算)。
可选删除计数
一个整数,表示要移除的数组元素的数量。如果deleteCount为0,则不会移除该元素。在这种情况下,至少应该添加一个新元素。如果deleteCount大于开始后的元素总数,则开始后的所有元素都将被删除(包括开始位)。
如果省略deleteCount,则相当于(arr.length-start)。
第1项,第2项,可选择的
要添加到数组中的元素从开始位置开始。如果未指定,splice()将仅删除数组元素。
返回值
已删除元素的数组。如果只删除一个元素,则返回只包含一个元素的数组。如果元素没有被删除,将返回一个空数组。