摘要:数组语法功能遍历数组,返回回调返回值组成的新数组,不改变原数组,不会对空数组进行检测语法功能无法,可以用中来停止,不改变原数组语法功能过滤,返回过滤后的数组,不改变原数组,不会对空数组进行检测语法功能有一项返回,则整体为,不改变原数组语法
数组 (array) ES5 * map
语法:[].map(function(item, index, array) {return xxx})
功能:遍历数组,返回回调返回值组成的新数组,不改变原数组,不会对空数组进行检测
语法:[].forEach(function(item, index, array) {})
功能:无法break,可以用try/catch中throw new Error来停止,不改变原数组
语法:[].filter(function(item, index, array) {})
功能:过滤,返回过滤后的数组,不改变原数组,不会对空数组进行检测
eg:
const data = [-8, 9, 5, 3]; const res = data.filter(function(item) { if (item > 3) { return item } }); console.log(res); // [9, 5]some
语法:[].some(function(item, index, array) {})
功能:有一项返回true,则整体为true,不改变原数组
语法:[].every(function(item, index, array) {})
功能:需要全部符合条件才返回true,有一项返回false,则整体为false,不改变原数组
语法:[].join(str)
功能:返回通过指定连接符str把数组连接成字符串,不改变原数组
语法:[].push(item) / [].pop(item)
功能:数组末尾推入push和弹出pop,返回改变后数组的长度/弹出项,改变原数组
语法:[].unshift(item) / [].shift(item)
功能:数组头部推入unshift和弹出shift,返回改变后数组的长度/弹出项,改变原数组
语法:[].sort(fn) [].reverse()
功能:按规则排序与反转,改变原数组
语法:[].splice(start, number, value1, value2...)
功能:返回删除元素组成的数组,从start处开始删除number个值后插入valueN参数列表到数组中,改变原数组
语法:[].concat([])
功能:连接n(n >= 2)个数组,返回数组连接后的数组副本,浅拷贝,不改变原数组
语法:[].slice(start, end)
功能:返回截断后的新数组,不改变原数组
语法:[].indexOf(value[, fromIndex])
功能:
查找数组项
indexOf 从fromIndex(默认为0)开始向后查找value
lastIndexOf 从fromIndex(默认为-1)开始向前查找value
返回value对应的下标
语法:reduce / reduceRight(callback[, initialValue])
功能:两两执行,prev 为上次化简函数的return值,cur 为当前值(从第二项开始)
callback 函数的参数:之前值(previousValue)、当前值(currentValue)、索引值(currentIndex)以及数组本身(array)
initialValue 可选的初始值,作为第一次调用回调函数时传给previousValue的值。也就是,为累加等操作传入起始值(额外的加值)
reduceRight是从数组的末尾开始
isArray *语法:Array.isArray(value)
功能:用于确定参数value是否是一个Array
ind(fn)`
功能:返回符合条件的第一个数组元素item
语法:[].findIndex(fn)
功能:返回符合条件的第一个数组元素的索引
语法:[].fill(value[, start, end])
功能:将类似数组的对象和可遍历(iterable)的对象转为真正的数组
常用:
const set = new Set(3, 8, 9, 0) Array.from(set)entries *
语法:[].entries()
功能:返回迭代器:返回键值对
【注】Object.entries(obj)方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for...in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环也枚举原型链中的属性)【MDN】
而[].entries()是Array.prototype上的方法
keys/values 类似
//数组 const arr = ["a", "b", "c"]; for(let v of arr.entries()) { console.log(v) } // [0, "a"] [1, "b"] [2, "c"] //Set const arr1 = new Set(["a", "b", "c"]); for(let v of arr1.entries()) { console.log(v) } // ["a", "a"] ["b", "b"] ["c", "c"] //Map const arr2 = new Map(); arr2.set("a", "a"); arr2.set("b", "b"); for(let v of arr2.entries()) { console.log(v) } // ["a", "a"] ["b", "b"]keys *
语法:[].keys()
功能:返回迭代器:返回键key(即上面的每个数组中的第一个值)
语法:[].values()
功能:返回迭代器:返回值value(即上面的每个数组中的第二个值)
语法:[].includes(val[, fromIndex])
功能:用于从fromIndex判断数组中是否包含val,可替代ES5中的 indexOf
语法:[].copyWithin(target[, start[, end]])
功能:浅复制数组的一部分(start~end)到同一数组中的另目标位置target,返回改变后的数组,而不修改其大小;start默认为0, end默认为length-1; 改变原数组
语法:Array.of()
功能:创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型
Array构造函数 & Array.of() 区别
实例说明
Array.of(7); // [7] Array.of(1, 2, 3); // [1, 2, 3] Array(7); // [ , , , , , , ] Array(1, 2, 3); // [1, 2, 3]fill
语法:[].fill(value[, start, end])
功能:用指定的元素填充数组,可用于初始化数组,返回改变后的数组,改变原数组
填充值(value),填充起始位置(start,默认为0),填充结束位置(end,默认为数组length)。
map/forEach/some/every/filter 见上
for for...in遍历所有可枚举属性,常用于遍历对象Object
for...of遍历所有可迭代iterable的对象
对象【属性】 for...in循环遍历对象自身的和继承的可枚举属性(不含Symbol属性)【可枚举 - Symbol】
Object.keys(obj)返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性)【自身可枚举 - Symbol】
Object.getOwnPropertyNames(obj)返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性)【自身 - Symbol】
Object.getOwnPropertySymbols(obj)返回一个数组,包含对象自身的所有Symbol属性【自身的Symbol】
Reflect.ownKeys(obj)返回一个数组,包含对象自身的所有属性,不管是属性名是Symbol或字符串,也不管是否可枚举 【自身所有】
参考 「干货」细说 Array 的常用操作(ES5 和 ES6)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/103393.html
摘要:基本概念学习目标学会如何使用,掌握的常用,能够使用实现常见的效果。想要实现简单的动画效果,也很麻烦代码冗余。实现动画非常简单,而且功能更加的强大。注意选择器返回的是对象。 jQuery基本概念 学习目标:学会如何使用jQuery,掌握jQuery的常用api,能够使用jQuery实现常见的效果。 为什么要学习jQuery? 【01-让div显示与设置内容.html】 使用javasc...
摘要:基本概念学习目标学会如何使用,掌握的常用,能够使用实现常见的效果。想要实现简单的动画效果,也很麻烦代码冗余。实现动画非常简单,而且功能更加的强大。注意选择器返回的是对象。 jQuery基本概念 学习目标:学会如何使用jQuery,掌握jQuery的常用api,能够使用jQuery实现常见的效果。 为什么要学习jQuery? 【01-让div显示与设置内容.html】 使用javasc...
摘要:基本概念学习目标学会如何使用,掌握的常用,能够使用实现常见的效果。想要实现简单的动画效果,也很麻烦代码冗余。实现动画非常简单,而且功能更加的强大。注意选择器返回的是对象。 jQuery基本概念 学习目标:学会如何使用jQuery,掌握jQuery的常用api,能够使用jQuery实现常见的效果。 为什么要学习jQuery? 【01-让div显示与设置内容.html】 使用javasc...
摘要:基本概念学习目标学会如何使用,掌握的常用,能够使用实现常见的效果。想要实现简单的动画效果,也很麻烦代码冗余。实现动画非常简单,而且功能更加的强大。注意选择器返回的是对象。 jQuery基本概念 学习目标:学会如何使用jQuery,掌握jQuery的常用api,能够使用jQuery实现常见的效果。 为什么要学习jQuery? 【01-让div显示与设置内容.html】 使用javasc...
摘要:在学习的道路上,数组是一个很重要的部分,数组的很多,也很容易混淆,每次对数组操作时都要去查文档,学习的路上也不能一直前进,有时候要停下来做做总结,我总结了平时比较常用的一些数组,希望能够帮到你。如果没有满足条件的元素,则返回。 在学习JS的道路上,数组是一个很重要的部分,数组的API很多,也很容易混淆,每次对数组操作时都要去查文档,学习的路上也不能一直前进,有时候要停下来做做总结,我总...
阅读 3130·2021-11-08 13:18
阅读 2279·2019-08-30 15:55
阅读 3604·2019-08-30 15:44
阅读 3065·2019-08-30 13:07
阅读 2777·2019-08-29 17:20
阅读 1943·2019-08-29 13:03
阅读 3405·2019-08-26 10:32
阅读 3219·2019-08-26 10:15