Array.length:数组的一条属性。基本用法:
let array = [1,2,3,4,5]; console.log(array.length);//5
Array.prototype:数组原型
console.log(Array.prototype);//Object
Array.isArray():是否是一个数组
let array = [1,2,3,4,5]; console.log(Array.isArray(array));//true
Array.from():将一个 ArrayLike 对象或者 Iterable 对象转换成一个 Array。概念很抽象,我们看代码:
var obj = { "0" : 1, length: 1 }; console.log(Array.from(obj));//[1]
对象类型的obj必须要求有一个length属性。
但是这个函数的最大作用是数组去重:
let array = [1,2,2,2,3,3,4,5];
console.log(Array.from(new Set(array)));//[1,2,3,4,5]
Array.prototype.push():从数组尾部添加元素,返回新的数组长度,并且改变了原数组。
let array = [1,2,3,4,5]; let len = array.push(6); console.log(array);//[1,2,3,4,5,6] console.log(len);//6
Array.prototype.pop():从数组尾部删除元素,返回删除的元素,并且改变了原数组。
let array = [1,2,3,4,5]; let item = array.pop(); console.log(array);//[1,2,3,4] console.log(item);//5
Array.prototype.unshift():从数组头部添加元素,返回新的数组长度,并且改变了原数组。
let array = [1,2,3,4,5]; let len = array.unshift(1); console.log(array);//[1,1,2,3,4,5] console.log(len);//6
Array.prototype.shift():从数组头部删除元素,返回删除的元素,并且改变了原数组。
let array = [1,2,3,4,5]; let item = array.shift(1); console.log(array);//[2,3,4,5] console.log(item);//1
Array.prototype.slice():截取数组,返回一个新的数组,不改变原数组
let array = [1,2,3,4,5]; let item = array.slice(1,2); console.log(array);//[1,2,3,4,5] console.log(item);//2
Array.prototype.join():把数组拼接成字符串,不改变原数组,返回一个拼接后的字符串,参数代表以什么来拼接。
let array = [1,2,3,4,5]; let item = array.join(""); let item2 = array.join("a"); console.log(array);//[1,2,3,4,5] console.log(item,item2);//12345 1a2a3a4a5
**Array.prototype.splice(index,howmany,item1,…..,itemX)**:改变原数组,可以实现数组的增加,删除和改变。可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
let array = [1,2,3,4,5]; let item = array.splice(1,1,3,3); console.log(array);//[1, 3, 3, 3, 4, 5] console.log(item);//[2]
Array.prototype.concat():数组的拼接,不改变原数组,返回一个拼接后的数组。
let array = [1,2,3,4,5]; let item = array.concat(1); console.log(array);//[1,2,3,4,5] console.log(item);//[1, 2, 3, 4, 5, 1]
Array.prototype.sort():排序,改变原数组。
let array = [1,2,5,4,3]; let item = array.sort(); console.log(array);//[1,2,3,4,5] console.log(item);//[1,2,3,4,5]
Array.prototype.reverse():数组倒置,改变原数组。
let array = [1,2,5,4,3]; let item = array.reverse(); console.log(array);//[3, 4, 5, 2, 1] console.log(item);//[3, 4, 5, 2, 1]
Array.prototype.map():对数组的每一项进行处理返回一个新的数组。
let array = [1,2,5,4,3]; let item = array.map(item => { return item * 2; }); console.log(array);//[1, 2, 5, 4, 3] console.log(item);//[2, 4, 10, 8, 6]
Array.prototype.forEach():进行循环
let array = [1,2,5,4,3]; let sum = 0; let item = array.forEach((item,i) => { sum += item; }); console.log(sum);//15
Array.prototype.find():从数组中找到一个满足某种条件的元素;
let array = [1,2,5,4,3]; let item = array.find((item,i) => { return item == 5; }); console.log(item);//5
Array.prototype.filter():把数组中满足条件的数组元素保留下来形成新的数组
let array = [1,2,5,4,3]; let item = array.filter((item,i) => { return item > 1; }); console.log(item);//[2, 5, 4, 3]
Array.prototype.includes():判断数组是否包含某个元素
let array = [1,2,5,4,3]; console.log(array.includes(1));//true console.log(array.includes(10));//false
Array.prototype.keys()
var arr = ['a', 'b', 'c']; var iterator = arr.keys();
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: undefined, done: true }
Array.prototype.values()
Array.prototype.entries()
Array.prototype.reduce()
Array.prototype.copyWithin():数组实例的copyWithin方法,在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。也就是说,使用这个方法,会修改当前数组。
var array = [1,2,3,4,5]; var arr = array.copyWithin(2,3); console.log(arr);//[1, 2, 4, 5, 5]