汇总一下 js 中,数组的相关函数(如有问题,请在评论区q我哦!感谢!)
1. 添加和删除 数组元素
// 1. push 在数组末尾添加一个或多个元素,并返回新的长度 (改变原数组)
let array = [1,2,3];
array.push(4);
console.log(array); // 输出[1,2,3,4]
// 2. pop 移除数组末尾的一个元素,并返回该元素 (改变原数组)
let array = [1,2,3];
array.pop();
console.log(array); // 输出[1,2]
// 3. shift 移除数组开头的第一个元素,并返回该元素 (改变原数组)
let array = [1,2,3];
array.shift();
console.log(array); // 输出[2,3]
// 4. unshift 在数组开头添加一个或多个元素,并返回新的长度 (改变原数组)
let array = [1,2,3];
array.unshift(0);
console.log(array); // 输出[0,1,2,3]
2. 迭代数组
// 一. forEach(callbackFn,thisArg)
// 对数组的每个元素执行一次给定的函数.
// callbackFn: 第一个参数是函数。该函数被调用时,将传入以下参数
// 1. item :数组中,正在处理的当前元素
// 2. index:正在处理的当前元素的索引
// 3. array:调用了 forEach 的数组本身
// thisArg: 第二个参数为:执行 callbackFn 时用作 this 的值。
// 我个人理解就是给定函数内,this的指向。(不常用)
// 例如:传入obj对象,给定的函数内 this 指向 obj
let arr = ['a','b','c'];
arr.forEach((item,index)=>{
console.log(item,index); // a0 b1 c2
})
// 二. map(callbackFn,thisArg) 参数:参考 1.forEach
// 创建一个新数组!! 这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成。
let arr = [1,2,3];
let newarr = arr.map((item,index)=>{
return item + index
})
console.log(newarr); // [1, 3, 5]
// 三. filter(callbackFn,thisArg) 参数:参考 1.forEach
// 创建给定数组一部分的浅拷贝,其包含通过所提供函数实现的测试的所有元素。
let arr = [1, 2, 3, 4, 5];
let newArr = arr.filter((item)=>{
return item > 2; // 一般返回的是布尔值
});
console.log(newArr); // 输出: [3, 4, 5]
// 四. reduce(callbackFn, initialValue)
// 数组中的每个元素按序执行一个提供的 reducer 函数,每一次运行 reducer 会
// 将先前元素的计算结果作为参数传入,最后将其结果汇总为单个返回值。
// callbackFn: 为数组中每个元素执行的函数,函数返回值作为下个函数调用时的第一个(accumulator)参数。
// 该函数被调用时,将传入以下参数
// 1. accumulator:上次调用函数(callbackFn)的结果,在第一次调用时
// 如果指定了第二个参数(initialValue),为指定的参数,如果未设置。则为array[0]
// 2. currentValue:当前元素的值,在第一次调用时
// 如果指定了第二个参数(initialValue),为指定的参数。如果未设置,则为array[1]
// 3. currentIndex:currentValue 在数组中的索引位置。在第一次调用时
// 如果指定了 initialValue 则为 0,否则为 1。
// 4. array 使用reduce函数的数组本身
// initialValue: 请看第一个参数(callbackFn)函数中传入的第一二个参数
let arr = [1,2,3];
let newarr = arr.reduce((item,index)=>{
return item + index
})
console.log(newarr); // 输出: 6
let arr = [1,2,3];
let newarr = arr.reduce((item,item2)=>{
return item + item2
},10)
console.log(newarr); // 输出: 16
// 五. some(callbackFn, thisArg) 参数:参考 1.forEach
// 数组中的某些元素是否通过了由提供的函数实现的测试
let arr = [1,2,3];
let newarr = arr.some(item=>item%2)
console.log(newarr); // 输出: true
let arr = [2,4,6];
let newarr = arr.some(item=>item%2)
console.log(newarr); // 输出: false
// 六. every(callbackFn, thisArg) 参数:参考 1.forEach
// 数组的所有元素是否都通过了由提供的函数实现的测试
let arr = [1,2,3];
let newarr = arr.every(item=>item%2)
console.log(newarr); // 输出: false
let arr = [1,3,5];
let newarr = arr.every(item=>item%2)
console.log(newarr); // 输出: true
3. 查找元素
// 1. indexOf - 返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1
let arr = [1, 2, 3, 4, 5];
let index = arr.indexOf(4);
console.log(index); // 输出: 3
// 2. includes - 判断一个数组是否包含一个指定的值,如果是返回 true,否则返回 false
let arr = [1, 2, 3, 4, 5];
let inThree = arr.includes(3);
console.log(inThree); // 输出: true
// 3. find - 返回数组中满足提供的测试函数的第一个元素的值
let arr = [1, 2, 3, 4, 5];
let found = arr.find(function(item) {
return item > 3;
});
console.log(found); // 输出: 4
// 4. findIndex - 返回数组中满足提供的测试函数的第一个元素的索引
let arr = [1, 2, 3, 4, 5];
let index = arr.findIndex(function(item) {
return item > 3;
});
console.log(index); // 输出: 3
4. 数组转换
// 1. concat - 用于合并两个或多个数组
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let combined = arr1.concat(arr2);
console.log(combined); // 输出: [1, 2, 3, 4, 5, 6]
// 2. slice - 返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝
let arr = [1, 2, 3, 4, 5];
let subArr = arr.slice(1, 3);
console.log(subArr); // 输出: [2, 3]
// 3. splice - 通过删除或替换现有元素或者添加新元素来修改数组,返回由被删除的元素组成的数组
// 参数1:索引值。参数二:移除个数。
let arr = [1, 2, 3, 4, 5];
let removed = arr.splice(2, 2, 'a', 'b'); //在索引2处移除两个参数,并插入'a','b'。
console.log(arr); // 输出: [1, 2, 'a', 'b', 5]
console.log(removed); // 输出: [3, 4]
// 4. join - 将所有数组元素,通过传入的参数,连接成一个字符串
let arr = [1, 2, 3, 4, 5];
let joinedStr = arr.join('-');
console.log(joinedStr); // 输出: "1-2-3-4-5"
// 5. toString - 返回一个字符串,该字符串由数组中的每个元素连接而成,每个元素由逗号分隔
// 通俗讲就是转换成字符串
let arr = [1, 2, 3, 4, 5];
let str = arr.toString();
console.log(str); // 输出: "1,2,3,4,5"
5. 数组排序
// 1. sort - 对数组的元素进行排序并返回数组
let arr = [5, 3, 8, 4, 2];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr); // 输出: [2, 3, 4, 5, 8]
// 2. reverse - 反转数组的元素顺序
let arr = [5, 3, 8, 4, 2];
arr.reverse();
console.log(arr); // 输出: [2, 4, 8, 3, 5]
标签:arr,console,函数,js,item,let,数组,log
From: https://blog.csdn.net/m0_65015442/article/details/143163201