一、改变原数组的数组方法
unshif() 向数组开头添加元素,并返回新的长度
push() 向数组末尾添加元素,并返回新的长度
shift() 将第一个元素删除并且返回删除元素
pop() 删除数组末尾的元素并且返回被删除的元素
reverse() 反转数组元素
sort() 对数组排序
splice() 向/从数组中添加/删除元素
unshif() 向数组开头添加元素,并返回新的长度
const fruits = ['dog', 'pig', 'cow'];
const newLength = fruits.unshift('duck', 'fish');
console.log(fruits); // ['duck', 'fish', 'dog', 'pig', 'cow']
console.log(newLength); // 5
push() 向数组末尾添加元素,并返回新的长度
const fruits = ['dog', 'pig', 'cow'];
const newLength = fruits.push('duck', 'fish');
console.log(fruits); // ['dog', 'pig', 'cow', 'duck', 'fish']
console.log(newLength); // 5
shift() 将第一个元素删除并且返回删除元素
const fruits = ['dog', 'pig', 'cow'];
const newStr = fruits.shift();
console.log(fruits); // ['pig', 'cow']
console.log(newStr); // dog
pop() 删除数组末尾的元素并且返回被删除的元素
const fruits = ['dog', 'pig', 'cow'];
const newStr = fruits.pop();
console.log(fruits); // ['dog', 'pig']
console.log(newStr); // cow
reverse() 反转数组元素
const fruits = ['dog', 'pig', 'cow'];
const newArr = fruits.reverse();
console.log(fruits); // ['cow', 'pig', 'dog']
console.log(newArr); // ['cow', 'pig', 'dog']
sort() 对数组排序
const fruits = ['dog', 'pig', 'cow'];
const newArr = fruits.sort();
console.log(fruits); // ['cow', 'dog', 'pig']
console.log(newArr); // ['cow', 'dog', 'pig']
splice() 向/从数组中添加/删除元素
const fruits = ['dog', 'pig', 'cow'];
// 从第二个位置开始删除一个元素
fruits.splice(1, 1);
console.log(fruits); // ['dog', 'cow']
// 在第二个位置添加两个元素
fruits.splice(1, 0, 'fish', 'duck');
console.log(fruits); // ['dog', 'fish', 'duck', 'cow']
二、不改变原数组的数组方法
concat:连接多个数组,返回新的数组
join() 将数组中所有元素以参数作为分隔符放入一个字符
slice() slice(start,end),返回选定元素
some() 检测数组中的元素是否满足指定条件,返回true或false。如果有一个元素满足条件,表达式返回true,剩余的元素不会再执行检测。如果没有满足条件的元素,返回false。
every(callback): 依据判断条件,数组的元素是否全满足,若满足则返回ture
filter() 创建一个新数组,某数组中符合指定条件的所有元素,不会改变原始数组
forEach() 用于调用数组的每个元素,并将元素传递给回调函数
map() 返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值
reduce() 接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值
findIndex 接收一个测试函数,也可以叫做条件函数,最终返回满足该测试函数的元素的索引位置,如果没有找到符合条件的元素,则返回-1