数组的方法
首先我们先打印一下Array.prototype看一下数组都有哪些方法
concat
1.定义和用法:
concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
2.语法:arrayObject.concat(arrayX,arrayX,......,arrayX);
arrayX 必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。
3.返回值:返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。constructor
Array原型对象的构造函数copyWithin(es6新增)
1.定义与用法:
copyWithin() 方法用于从数组的指定位置拷贝元素到数组的另一个指定位置中。
2.语法:array.copyWithin(target, start, end);
参数:target(必需。复制到指定目标索引位置。); start(必需。元素复制的起始位置。);end(可选。停止复制的索引位置 (默认为 array.length))
3.返回值:新的数组entries(es6新增)
对数值的键值对进行遍历(并不知道是什么意思)-
every
参数说明:
1.定义和用法:
every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
every() 方法使用指定函数检测数组中的所有元素:
如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
如果所有元素都满足条件,则返回 true。
注意: every() 不会对空数组进行检测。
注意: every() 不会改变原始数组。
2.语法:array.every(function(currentValue,index,arr), thisValue)
3.返回值:布尔值,所有元素通过返回true,未通过返回false fill
1.定义和用法:
fill() 方法用于将一个固定值替换数组的元素。
2.语法:array.fill(value, start, end)
参数说明:value(必需。填充的值。);start(可选。开始填充位置。);end(可选。停止填充位置 (默认为 array.length));-
filter
1.定义与用法:filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。
2.语法:array.filter(function(currentValue,index,arr), thisValue)
参数说明
3.返回值:返回数组,包含了符合条件的所有元素。如果没有符合条件的元素则返回空数组。
-
find
参数说明:
1.定义和用法
find() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素。
find() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 undefined
注意: find() 对于空数组,函数是不会执行的。
注意: find() 并没有改变数组的原始值。
2.语法:array.find(function(currentValue, index, arr),thisValue)
3.返回值:返回符合测试条件的第一个数组元素索引值,如果没有符合条件的则返回 undefined。 -
findIndex
参数说明
1.定义与方法:
findIndex() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。
findIndex() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 -1
注意: findIndex() 对于空数组,函数是不会执行的。
注意: findIndex() 并没有改变数组的原始值。
2.语法:array.findIndex(function(currentValue, index, arr), thisValue)
3.返回值:返回符合测试条件的第一个数组元素索引,如果没有符合条件的则返回 -1。 -
forEach
参数说明:
1.定义与用法:forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
注意: forEach() 对于空数组是不会执行回调函数的。
2.语法:array.forEach(function(currentValue, index, arr), thisValue)
includes
1.定义与用法:
includes() 方法用来判断一个数组是否包含一个指定的值,如果是,返回 true或 false。
2.语法:arr.includes(searchElement, fromIndex)
参数说明:searchElement(需要查找的元素值。);fromIndex(从该索引处开始查找 searchElement。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。默认为 0。)
3.返回值:一个布尔值-
indexOf
参数说明:
1.定义与用法:indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
2.语法:arr.indexOf(searchElement[, fromIndex = 0])
3.返回值:若找到返回数组位置,未找到返回-1 join
1.定义与用法:join() 方法用于把数组中的所有元素放入一个字符串。
元素是通过指定的分隔符进行分隔的。
2.语法:arrayObject.join(separator)
参数说明:separator(可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。)keys
1.定义与用法:keys() 方法返回一个新的Array迭代器,它包含数组中每个索引的键。
2.语法:arr.keys()
3.返回值:一个新的array迭代器对象。-
lastIndexOf
参数说明:
1.定义与用法:lastIndexOf() 方法返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前查找,从 fromIndex 处开始。
2.语法:arr.lastIndexOf(searchElement[, fromIndex = arr.length - 1])
-
map
1.定义与方法:
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
注意: map() 不会对空数组进行检测。
注意: map() 不会改变原始数组。
2.语法:array.map(function(currentValue,index,arr), thisValue)
参数说明:
3.返回值:修改之后的数组 pop
1.定义与用法:pop() 方法用于删除数组的最后一个元素并返回删除的元素。
注意:此方法改变数组的长度!
提示:移除数组第一个元素,请使用shift()方法。
2.语法:array.pop()
3.返回值:删除的数组push
1.定义与方法:push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
注意:新元素将添加在数组的末尾。
注意:此方法改变数组的长度。
提示:在数组起始位置添加元素请使用unshift()方法。
2.语法:array.push(item1, item2, ..., itemX)
参数说明:item要添加数组的元素
3.返回值:数组的新长度-
reduce
参数说明:
1.定义与用法:reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
注意: reduce() 对于空数组是不会执行回调函数的。
2.语法:array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
3.返回值:计算的结果 reduceRight(与reduce的功能相同,不同的是从数组末尾向前将数组中的数组项做累加)
reverse(反转数组)
shift(删除并返回数组的第一个元素)
1.定义与用法:shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
注意:此方法改变数组的长度!
提示:移除数组末尾的元素可以使用pop()方法。-
slice(选取数组的一部分并返回一个新数组)
参数说明:
1.定义与用法:
slice() 方法可从已有的数组中返回选定的元素。
slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
注意: slice() 方法不会改变原始数组。
2.语法:array.slice(start, end)
3.返回值:返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。 -
some(检测数组元素中是否有元素符合指定条件)
1.定义与用法:some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。
2.语法:array.some(function(currentValue,index,arr),thisValue)
参数说明:
3.返回值:如果有元素满足条件返回true,否则返回false sort(对数组进行排序)
1.定义与用法:sort() 方法用于对数组的元素进行排序。
排序顺序可以是字母或数字,并按升序或降序。
默认排序顺序为按字母升序。
注意:当数字是按字母顺序排列时"40"将排在"5"前面。
使用数字排序,你必须通过一个函数作为参数来调用。
函数指定数字是按照升序还是降序排列。
这些说起来可能很难理解,你可以通过本页底部实例进一步了解它。
注意: 这种方法会改变原始数组!。
2.语法:array.sort(sortfunction)
参数说明:sortfunction(可选。规定排序顺序。必须是函数。)-
splice
1.定义与用法:splice() 方法用于插入、删除或替换数组的元素。
注意:这种方法会改变原始数组!。
2.语法:array.splice(index,howmany,item1,.....,itemX)
参数说明: toLocaleString
1.定义与用法:将数组转换为本地字符串
2.语法:arrayObject.toLocaleString()
3.返回值:字符串的本地字符串表示toString
1.定义与方法:返回一个字符串,表示指定数组及其元素unshift
1.定义与用法:
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
注意:该方法将改变数组的数目。
提示:将新项添加到数组末尾,请使用push()方法。
2.语法:array.unshift(item1,item2, ..., itemX)
参数说明:向数组起始位置添加一个或者多个元素
3.返回值:返回新数组的长度