资讯专栏INFORMATION COLUMN

Array 对象方法整理

IntMain / 2369人阅读

摘要:对象方法数组创建与修改创建创建一个新数组实例将类数组类似数组的对象和可遍历的对象转为真正的数组。返回一个新的对象,该对象包含数组每个索引的值。遍历键遍历值遍历键值对参考文档标准库对象

Array 对象方法 数组创建与修改
1. 创建

var arr = [];

var arr = new Array()

Array.of(el1[,el2[...]]) //创建一个新数组实例

Array.from(arrayLike) //将类数组(类似数组的对象和可遍历的对象)转为真正的数组。

// ES5的写法
var arr1 = [].slice.call(arrayLike);
// ES6的写法
let arr2 = Array.from(arrayLike);

2. 合并

Array.prototype.concat(arr1[,arr2..]) //合并两个或多个数组。不更改现有数组,而是返回一个新数组。

3. 转化为字符串

Array.prototype.join(separator) //以separator(默认为逗号)拼接为字符串。

Array.prototype.toString() //把数组转换为字符串,数组中的元素之间用逗号分隔。

4. 填充

Array.prototype.fill(value[, start, end]) //用一个固定值填充[start,end)的元素。

判断数组

Array.isArray() //判断传递的值是否是一个 Array。

筛选排序递归
1. 筛选

Array.prototype.filter()

Array.prototype.map()

2. 排序

Array.prototype.reverse() //将数组中元素的位置颠倒。

Array.prototype.sort()

3. 递归

Array.prototype.reduce()

语法:arr.reduce(callback,[initialValue])

callback(accumulator,currentValue,currentIndex,array)

accumulator 上一次调用回调返回的值

currentValue 数组中正在处理的元素

currentIndex 数据中正在处理的元素索引

array 调用 reduce 的数组

initialValue [可选],用于第一次调用 callback 的第一个参数。

增删改查
1. 查找

Array.prototype.some(callback) //执行一次 callback 函数,直到找到一个使得 callback 返回true。

Array.prototype.every(callback) //数组的所有元素是否都通过callback 函数。

Array.prototype.find(callback) //在数组中返回符合callback第一个元素的值。

Array.prototype.findIndex(callback)//返回数组中满足callback的第一个元素的索引。否则返回-1。

Array.prototype.includes(searchElement) //是否包含一个指定的值

2. 增、删

Array.prototype.pop() //删除数组最后一个元素,并返回该元素的值。

Array.prototype.push() //增加元素到数组末尾。

Array.prototype.shift() //删除数组第一个元素。

Array.prototype.unshift() //增加元素到数组开头。

Array.prototype.slice(start,end) //返回[start,end)**浅拷贝**到一个新数组对象,**原数组不会被修改**。

Array.prototype.splice() //通过删除现有元素和/或添加新元素来更改一个数组的内容,**会直接对数组进行修改**。

array.splice(start)

array.splice(start, deleteCount)

array.splice(start, deleteCount, item1, item2, ...)

start : 如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组末位开始的第几位(从1计数)。
deleteCount : 如果 deleteCount 是 0,则不移除元素,这种情况下,至少应添加一个新元素;如果 deleteCount 大于start 之后的元素的总数,则从 start 后面的元素都将被删除(含第 start 位);如果deleteCount被省略,则其相当于(arr.length - start)。
item1, item2, ... :要添加进数组的元素

循环遍历

Array.prototype.map(callback)

Array.prototype.forEach(callback)

Array.prototype.entries() //返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对。

Array.prototype.keys() //返回一个新的Array迭代器,它包含数组中每个索引的键。

Array.prototype.values() //返回一个新的 Array Iterator 对象,该对象包含数组每个索引的值。

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"

参考文档

JavaScript 标准库 - Array

JavaScript Array 对象

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/83513.html

相关文章

  • 【前端芝士树】Array的属性及方法整理(参照MDN)

    摘要:本文主要是我自己对的一些整理,参考自,其中的分类有些不准确之处,还望见谅的基本属性属性的一些方法增删改查基础功能增删改查基础功能增删改删除数组的第一个元素删除数组的最后一个元素在数组的开头一个或多个元素,在数组的末尾增加一个或者多个元素数组 本文主要是我自己对Array的一些整理,参考自MDN,其中的分类有些不准确之处,还望见谅 Array const arr = [1, 2, 3, ...

    MoAir 评论0 收藏0
  • Web前端常用代码笔记整理(01)

    摘要:第二段代码如下修改就可以了改这一行其实你的本质问题就在于误认为是数组对象,然而它是构造函数。它继承自构造函数被执行。故视为两个字符串的拼接,结果为字符串,其长度为。 1.[] 和 Array 调用 slice 方法引起的问题 问题表示:在某些场景下,需要将函数的 arguments 参数作为一个数组调用,但是 arguments 是一个奇异对象,所以试着将 arguments 转化为一...

    jas0n 评论0 收藏0
  • JavaScript Array 整理 - 元素操作

    摘要:此文章是我的原创文章,原文地址前篇整理了一些常用的遍历操作方法,今天再整理一下对象中针对元素操作的方法。返回当前数组最后一个元素描述返回数组第一个元素,并从当前数组中删除它。删除的元素组成的数组 此文章是我的原创文章,原文地址:http://lpgray.me/article/49/ 前篇整理了一些Array常用的遍历操作方法,今天再整理一下Array对象中针对元素操作的方法。 分别是...

    phodal 评论0 收藏0
  • DOM疑惑点整理(一)

    摘要:和定义区别是多种类型节点的集合,是元素类型节点的集合。当查询文档时,该方法对大小写不敏感。但是在及之前版本用访问返回一个对象,访问返回函数。及之前版本,用设置属性,不会有任何效果。不建议用使用和更方便。 Nodelist和HTMLCollection 定义区别 Nodelist是多种类型节点的集合,HTMLCollection是元素类型节点的集合。 API区别 返回Nodelist的A...

    Moxmi 评论0 收藏0
  • JavaScript易错知识点整理

    摘要:知识点变量作用域上方的函数作用域中声明并赋值了,且在之上,所以遵循就近原则输出等于。上方的函数作用域中被重新赋值,未被重新声明,且位于之下,所以输出全局作用域中的。若执行则会输出。上方利用方法进行对象的深拷贝可以避免源对象被篡改的可能。 前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值...

    2shou 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<