JavaScript的关于Array的方法介绍

来源:互联网 发布:wait的用法java 编辑:程序博客网 时间:2024/05/21 15:50

数组操作是JavaScript中很重要的一部分,现在把这些常用的总结下来,展示给大家,也让自己得到温习。

  • 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));//trueconsole.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]

<完> — 数组部分先到这里

0 0