数组常用函数

数组常用函数

Array.isArray() // 判断当前元素是不是数组
Array.of() // 创建一个新的 Array 实例,而不管参数的数量或类型
Array.of(1); // [1]
Array.from() // Array.from() 静态方法从类数组或可迭代对象创建一个新的、浅复制的 Array 实例。
Array.from('hello'); // ['h', 'e', 'l', 'l', 'o']
Array.from([1, 2, 3], arrItem => arrItem * 4); // [4, 8, 12]
forEach() // 循环数组 只是循环使用 (item,index)
map() // 循环数组 会返回一个新数组 
const newArr = arr.map((item,index)=>{return item})
filter() // 循环数组 会返回符合条件的一项数据或是多项数据
const obj = arr.map((item,index)=>{item< 5 || arrItem > 10})
sort() // 对数组元素进行排序 默认情况下,sort() 函数将值作为字符串进行排序。
concat() // concat() 方法用于合并两个或多个数组。它不会更改现有数组,而是返回一个新的结果数组
every() // 该方法测试输入数组中的所有元素是否都通过了实现的条件。它返回一个布尔值[true,false]
some() // every()完全一样。检查输入数组的所有元素的条件,如果有任何元素满足条件,则返回 true
includes() // include() 方法检查输入数组是否在其条目中包含某个值,并返回一个布尔值
join() // join() 方法通过连接输入数组中的所有条目来返回一个新字符串。
reduce() // reduce() 方法执行一个 reducer 功能,由用户应用于输入数组的项目。在数组的所有项目上运行 reducer 的最终结果返回一个值
const callbackFn = (total, currArrItem, index, arr) => { ... }
arr.reduce(callbackFn, initVal)
arr.reduce((total, currArrItem, index, arr) => { ... }, initVal)
find() // 列表中的下一个 JavaScript 数组方法是 find()。它返回输入数组中满足 find 方法 callbackFn 中给定条件的第一个元素的值。
const arr = [5, 10, 100, 12, 8, 130, 44];
const result = arr.find(arrItem => arrItem > 10);
console.log(result);
findIndex() // findIndex() 方法返回输入数组中满足 find 方法 callbackFn 中给定条件的第一个元素的索引。否则返回-1,表示没有数组项通过条件检查。语法将与 find() 方法保持相同,只是返回结果会有所不同。
const arr = [5, 10, 100, 12, 8, 130, 44];
const result1 = arr.findIndex(arrItem => arrItem > 10);
const result2 = arr.findIndex(arrItem => arrItem > 1000);
console.log(result1); // 2
console.log(result2); // -1
indexOf() // 这类似于 findIndex() 方法,但不同之处在于 indexOf() 方法返回可以在输入数组中找到给定元素(作为 indexOf() 方法的参数传递)的第一个索引。如果未找到,则返回 -1。
const arr = [5, 10, 100, 12, 8, 130, 44];
arr.indexOf(12); // 3
arr.indexOf('12');// -1
fill() // fill() 方法使用静态值更改输入数组中的所有元素。此方法返回修改后的数组。
const arr1 = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'];
arr1.fill(0); // [0, 0, 0, 0, 0, 0, 0, 0]
const arr2 = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'];
arr2.fill(0, 5); // ['A', 'B', 'C', 'D', 'E', 0, 0, 0]
const arr3 = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'];
arr3.fill(0, 5, 7); // ['A', 'B', 'C', 'D', 'E', 0, 0, 'H']
const arr4 = [1, 2, 3, 4, 5];
arr4.fill(); //[undefined, undefined, undefined, undefined, undefined]
slice() // slice() 方法是一个非常有用的 JavaScript 数组方法。它为 slice 方法中传递的给定参数制作原始数组的副本。
const arr = ['rats', 'sheep', 'cows', 'chickens', 'dogs', 1001];
arr.slice(); // ['rats', 'sheep', 'cows', 'chickens', 'dogs', 1001]
arr.slice(3); // ['chickens', 'dogs', 1001]
arr.slice(2, 5); // ['cows', 'chickens', 'dogs']
arr.slice(-4); // ['cows', 'chickens', 'dogs', 1001]
splice() // splice() 方法通过删除或替换现有项目和/或添加新项目来更改数组的内容。不会修改原始数组。
let arr = ['angel', 'clown', 'mandarin', 'sturgeon'];
let removedArr = arr.splice(2, 0, 'drum');
// arr: ["angel", "clown", "drum", "mandarin", "sturgeon"]
// removedArr: []
reverse() // reverse() 方法反转输入数组。
const arr1 = [1, 2, 3];
arr1.reverse(); // [3, 2, 1]
const arr2 = ['1', '4', '3', 1, 'some string', 100];
arr2.reverse(); // [100, 'some string', 1, '3', '4', '1']
push() // 将一个或多个(任何类型的)项目添加到数组的末尾,并返回数组中项目的更新总数。
const animals = ['cats', 'rats', 'sheep'];
animals.push('cows'); // 4
console.log(animals); // ['cats', 'rats', 'sheep', 'cows']
animals.push('chickens', 'dogs', 1001); // 7
console.log(animals); // ['cats', 'rats', 'sheep', 'cows', 'chickens', 'dogs', 1001]
pop() // pop() 方法从数组中删除最后一项并返回该项。输入数组的长度减1。
const arr = ['rats', 'sheep', 'cows', 'chickens', 'dogs', 1001];
arr.pop(); // 1001
console.log(arr); // ['rats', 'sheep', 'cows', 'chickens', 'dogs']
shift() // 从数组中删除第一项并返回该项。 输入数组的长度减1,和pop()方法一样。
const arr = ['rats', 'sheep', 'cows', 'chickens', 'dogs', 1001];
arr.shift(); // 'rats'
console.log(arr); // ['sheep', 'cows', 'chickens', 'dogs', 1001]
unshift() // 将一项或多项添加到数组的开头,并返回数组的新长度。 语法与 push() 相同。 push() 方法只是在数组的末尾,但 unshift() 方法在开头添加。
const animals = ['cats', 'rats', 'sheep'];
animals.unshift('cows'); // 4
console.log(animals); // ['cows', 'cats', 'rats', 'sheep']
animals.unshift('chickens', 'dogs', 1001); // 7
console.log(animals); // ['chickens', 'dogs', 1001, 'cows', 'cats', 'rats', 'sheep']
flat() // JavaScript 的 flat()方法创建一个新数组,其中所有子数组项以递归方式连接到指定深度。
const arr1 = [0, 1, 2, [3, 4]];
console.log(arr1.flat()); // [0, 1, 2, 3, 4]
const arr2 = [0, 1, 2, [[[3, 4]]]];
console.log(arr2.flat(2)); // [0, 1, 2, [3, 4]]
console.log(arr2.flat(3)); // [0, 1, 2, 3, 4]
at() // 索引处的项目。 at() 方法的参数可以是正数或负数。 负整数从输入数组的最后一项开始计数。
const arr = ['chickens', 'dogs', 1001, 'cows', 'cats', 'sheep']
arr.at(1); // 'dogs'
arr.at(-1); // 'sheep'
arr.at(2); // 1001
arr.at(-2); // 'cats'
arr.at(-100); // undefined
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丝雨花开

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值