数组的转化
Array.from将类似数组的对象和可遍历的对象转为真正的数组
var arr1 = Array.from(arrayLikeObj); //ES6
var arr2 = [ ].slice.call(arrayLikeObj): //ES5
Array.of将一组值转换为数组
Array.of(3,11,7) // [3,11,7]
数组的复制
copyWithin将指定位置的成员复制到其它位置(会覆盖原有成员),然后返回当前数组。
此方法会修改原数组。
Array.prototype.copyWithin(target, start = 0, end = this.length)
接受三个参数
* target(必需):从该位置开始替换数据
* start(可选):从该位置开始读取数据,默认为0,如果是负值,表示倒数(右边第一位为-1)
* end(可选):到该位置前停止读取数据,默认为数组长度,如果是负值,表示倒数
[1,2,3,4,5,6].copyWithin(0,2) // [3,4,5,6,5,6]
[1, 2, 3, 4, 5].copyWithin(0, -2, -1) // [4, 2, 3, 4, 5]
数组的查找
查找成员
find方法用于找出第一个符合条件的数组成员。它的参数是一个回调函数,数组中的每一个成员依次执行这个回调函数。
如果找到第一个符合条件的成员,返回该成员。如果没有符合条件的,则返回undefined
[1, 5, 10, 15].find(function(value, index, arr) {
return value > 9;
}) // 10
find方法的回调函数接受三个参数
value:当前值
index:当前位置
arr:原数组
查找成员位置
[1, 5, 10, 15].findIndex(function(value, index, arr) {
return value > 9;
}) // 2
indexOf也可以返回成员位置,如果不存在,则返回-1,所以很多时候也用来判断成员是否存在
if (arr.indexOf(el) !== -1) {
... // el不存在数组中时执行
}
-判断成员是否存在
include方法判断某个给定值是否存在数组中,返回布尔值。
[1, 2, 3].includes(2); // true
[1, 2, 3].includes(4); // false
[1, 2, NaN].includes(NaN); // true
数组的填充
使用fill()给定值填充数组
接受三个参数
target(必需):用该数值填充数组
start(可选):从该位置开始填充,不接收负值
end(可选):到该位置前停止填充
['a', 'b', 'c'].fill(7, 1, 2) // ['a',7,'c']
数组的遍历取值
键名遍历:keys( )
键值遍历:values( )
键值对遍历:entries( )
可以用for...of循环遍历
for (let index of ['a', 'b'].keys()) {
console.log(index);}
// 0
// 1
for (let elem of ['a', 'b'].values()) {
console.log(elem);}
// 'a'
// 'b'
for (let [index, elem] of ['a', 'b'].entries()) {
console.log(index, elem);}
// 0 "a"
// 1 "b"
数组的元素操作
-
concat()连接两个或更多的数组,并返回结果。
arr1.concat(arr2)ES6中可利用扩展运算符直接写成 [ ...arr1,...arr2]
join()把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop()删除并返回数组的最后一个元素
push()向数组的末尾添加一个或更多元素,并返回新的长度。
reverse()颠倒数组中元素的顺序。
shift()删除并返回数组的第一个元素
slice()
从某个已有的数组返回选定的元素(返回一个新数组)
arr.slice(start,end)
start
必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end
可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
sort()
对数组的元素进行排序(按照字符编码的顺序)
如果要按照数值大小对数字排序,必须使用一个排序函数arr.sort(sortNumber)
-
splice()删除元素,并向数组添加新元素。会改变原数组
arr.splice(index,howmany,item1,.....,itemX) index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 item1, ..., itemX 可选。向数组添加的新项目。
toSource()返回该对象的源代码。
toString()把数组转换为字符串,并返回结果。
toLocaleString()把数组转换为本地数组,并返回结果。
unshift()向数组的开头添加一个或更多元素,并返回新的长度。
valueOf()返回数组对象的原始值
参考阮一峰《ECMAScript 6 入门》:http://es6.ruanyifeng.com/#do...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。