数组的方法总结(15个)

every()方法
// every方法的返回值是布尔值
// 找出不满足条件的值
例子:this.list.every(item=>item.c===true)
例子:
// 声明一个变量isBelowThreshold 存储小于40的数字 常量
const isBelowThreshold = (currentValue) => currentValue < 40;
// 声明一个array1数组 常量                                                   
const array1 = [1, 30, 39, 29, 10, 13];
// 打印结果为false                                                   
console.log(array1.every(isBelowThreshold));
// 如果回调函数的每一次返回都为 true 值,就返回 true ,否则返回 false
forEach()方法
// 使用场景 类似于for 循环遍历
例子:this.list.forEach((sum,item)=>sum+=item.price)
// 注:forEach()方法没有返回值
map()方法:
// map方法返回值是一个新数组
// 使用场景:把数组里面的元素处理之后返回一个新的数组
例子:  
// 声明一个数组array1 常量
const array1 = [1, 4, 9, 16];
// 声明一个数组map1 常量
// 把里面的每个值*2形成一个新的数组
const map1 = array1.map(x => x * 2);
// 打印这个新的数组map1
console.log(map1);
filter()方法 
// filter方法返回值是一个新的数组,满足条件的元素选出来
// 找出大于10的元素形成一个新的数组
例子:this.list.filter(item=>item>10)
// 使用场景:过滤数组中的元素,把符合条件选取出来,形成一个新的数组
reduce()方法
// 数组求和的方法(主要)
// toFixed(2) 保留两位小数 数字的方法
// 参数1:求和变量
// 参数2:遍历数组的值
// 函数体
// 参数3:求和变量的初始值
例子:this.list.reduce((sum,item)=>sum+=item.price,0)
findIndex()方法
// 使用场景:数组中通过提供测试函数的第一个元素的索引,有就返回索引,否则,返回-1,就是没找到
// 通过id找索引 要找的id和循环的id一样索引就存在
// 参数就是回调函数
例子:let index=this.list.findIndex(item=>item.id===id)
// indexOf()方法
indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1
// 参数1:要查找的元素
// 参数2:从哪开始查找
includes()方法
使用场景:用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false
// 参数1:要查找的元素
// 参数2:从哪开始找
注意:索引小于0,则从数组长度+查找索引处开始
join()方法
将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符
// 参数:分隔符 默认是, 如果写'',则没有连接符
 concat()方法
// 使用场景:用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组
参数:可选 要合并的数组/值 
push()方法
使用场景:将一个或多个元素添加到数组的末尾
返回值:返回该数组的新长度
参数:要添加到数组末尾的元素
splice()方法
使用场景:删除一个或的多个元素,每一次删除一个
返回值:那个被删除元素所组成的数组
例子:  
// 声明一个数组arr 常量
const arr=[1,3,4,6];
// 声明一个数组arr1 常量 被删除元素组成的数组
const arr1=arr.splice(0,1)
// 打印arr1
console.log(arr1);
// shift() 方法
使用场景:从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度(头部删除)
例子: 
// 声明一个数组arr2 常量
const arr2=[4,6,8];
// 声明一个常量value 存储shift方法删除的那个头部元素
const value=arr2.shift(4);
// 打印value
console.log(value);
//apply() 方法
使用场景:改变this指向,还能传递参数,做运算
详细解析;调用一个具有给定this值的函数,以及以一个数组(或类数组对象)的形式提供的参数。
this可能不是该方法看到的实际值:如果这个函数处于非严格模式下,则指定为 null 
或 undefined 时会自动替换为指向全局对象,原始值会被包装。
例子;
// 声明一个numbers数组
const numbers = [5, 6, 2, 3, 7];
// 调用math.max方法求最大值
const max = Math.max.apply(null, numbers);
console.log(max);
// expected output: 7
// 调用math.min方法求最小值
const min = Math.min.apply(null, numbers);
console.log(min);
// expected output: 2
bind()方法
// 使用场景:改变this指向
// 详细解析:创建一个新的函数,在bind()被调用时,这个新函数的this被指定为bind()的
第一个参数,而其余参数将作为新函数的参数,供调用时使用
// 返回值
返回一个原函数的拷贝,并拥有指定的 this 值和初始参数。
// 重点:可以写多个参数
// call()方法
// 使用场景:改变this指向,传递多个参数用于函数调用
// 注意:该方法的语法和作用与 apply() 方法类似,只有一个区别,就是
call() 方法接受的是一个参数列表,而 apply() 方法接受的是一个包含多个参数的数组。
// 例子:    
// 声明构造函数Product
function Product(name, price) {
// this代表当前的构造函数的实例
this.name = name;
this.price = price;          
}
// 声明构造函数Food
function Food(name, price) {
// 调用构造函数Product 并改变其this指向 传递两个形参name,price
Product.call(this, name, price);
// 改变构造函数 Product的指向 指向Food
console.log(this);
this.category = 'food';
}
// 调用构造函数并传实参'cheese',5
console.log(new Food('cheese', 5).name);

includes()方法

数组里是否包含某个元素,如果包含返回true,否则返回false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值