// 以下数组操作不会改变原数组:
arr.filter(callback) 数组过滤,返回满足条件的元素组成的一个新数组
arr.map(callback) 对数组每一项进行计算处理,返回一个新数组。
arr.map() 便利循环数组中的每一项,对每一项做处理。
arr.find() 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数, 如果没有符合条件的元素返回 undefined
arr.findIndex() 方法返回数组中符合条件的第一个元素位置。
arr.some() 依次执行数组元素,如果有一个元素满足条件,则表达式返回true,剩余的元素不会再执行检测。some()不会对空数组进行检测,不会改变原始数据。
arr.includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。arr.includes(searchElement)
arr.every() 该函数每一项都返回true,则返回true,否则返回false。
arr.concat() 用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
arr.slice(start,end) 剪切数组,含头不含尾 ,返回新的数组,不会改变原数组,可以复制数组,比如:slice(0)或者slice(0,arr.length-1)
arr.join(“连接符”) 将数组中每个元素转为字符串,用自定义的"连接符"连接每个元素
// 以下数组操作会改变原数组:
arr.reverse() 用于颠倒数组中元素的顺序。
arr.sort(function) 用于对数组的元素进行排序,会改变原数组
arr.shift(item) 头部删除元素,返回被删除的元素,原始数组会改变
arr.unshift(item) 头部添加元素,返回新数组的长度,原始数组会改变
arr.pop() 尾部删除元素,返回被删除的元素
arr.push() 尾部添加元素,返回新数组长度
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。会改变原数组,
// 数组的其他方法
Array.from() 方法用于通过拥有 length 属性的对象或可迭代的对象来返回一个数组。
arr.copyWithin() 方法用于从数组的指定位置拷贝元素到数组的另一个指定位置中。
arr.indexOf() 方法可返回数组中某个指定的元素位置。如果找不到返回-1
arr.lastIndexOf()搜索数组中的元素,并返回它最后出现的位置。如果找不到返回-1
contains (判断数组里是否存在某个元素)
参考文章: https://blog.csdn.net/jumtre/article/details/41893779
Array
方法里没有contains
方法,如果要使用,我们可以手动封装一个
Array.prototype.contains = function (str) {
var i = this.length;
while (i--) {
if (this[i] === str) {
return true;
}
}
return false;
}
使用方法如下:
[a, b, c].contains('a'); //返回true
[a, b, c].contains('d'); //返回false