文章目录
改变原数组
push()
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
pop()
pop() 方法用于删除数组的最后一个元素并返回删除的元素。
shift()
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
unshift()
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
sort()
sort() 方法用于对数组的元素进行排序。
排序顺序可以是字母或数字,并按升序或降序。
默认排序顺序为按字母升序。
注意: 这种方法会改变原始数组!。
var points = [40,100,1,5,25,10];
//数字升序
points.sort(function(a,b){return a-b});
//数字降序
points.sort(function(a,b){return b-a});
reverse()
reverse() 方法用于颠倒数组中元素的顺序。
splice()
splice() 方法用于添加或删除数组中的元素。
注意:这种方法会改变原始数组。
//index:必需。规定从何处添加/删除元素
//howmany:可选。规定应该删除多少元素。必须是数字,但可以是 "0"。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素
//item1,.....,itemX:可选。要添加到数组的新元素
array.splice(index,howmany,item1,.....,itemX)
返回新数组
map()
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
参数依次为 当前元素的值 索引值 所属的数组对象 回调函数所属对象
array.map(function(currentValue,index,arr), thisValue)
filter()
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。
array.filter(function(currentValue,index,arr), thisValue)
Array.prototype.concat()
concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);
console.log(array3);
// ["a", "b", "c", "d", "e", "f"]
其他
join()
join() 方法将数组作为字符串返回。
findIndex()
findIndex() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 -1
reduce
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
//0为初始值,每一次调用的初始值为上一次调用的返回值
this.todos.reduce((pre,todo)=> pre + (todo.done ? 1 : 0) ,0)
some
some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
检测数组中是否有元素大于 18:
const arr = [10,20,30];
arr.some((item) => {
return item > 18;
})