js,javascript数组方法reduceRight(),reverse(),shift(),slice(),some()(2024-05-01)

本文详细介绍了JavaScript中的五个数组处理方法:reduceRight用于递归计算数组总和,reverse用于反转数组,shift移除首元素,slice创建新数组选取部分元素,some检测数组中有满足条件的元素。这些方法有助于理解和操作数组数据结构。

目录

1、reduceRight()方法

2、reverse()方法

3、shift()方法

4、slice()方法

5、some()方法


 

1、reduceRight()方法

reduceRight() 方法将数组缩减为单个值。

reduceRight() 方法为数组的每个值(从右到左)执行提供的函数。

函数的返回值存储在累加器中(结果/总计)。

注释:对没有值的数组元素,不执行 reduceRight() 方法。

// array.reduceRight(function(total, currentValue, currentIndex, arr), initialValue)

// function(total, currentValue, index, arr)	必需。为数组中的每个元素运行的函数。
// 函数参数:
// 参数	        描述
// total	    必需。initialValue,或函数先前返回的值。
// currentValue	必需。当前元素的值。
// index	    可选。当前元素的数组索引。
// arr	        可选。当前元素所属的数组对象
// initialValue	可选。作为初始值传递给函数的值。

// 减去数组中的数字,从末尾开始:
const numbers = [3, 2, 1]
const num = numbers.reduceRight((total, num) => {
    return total - num
});

console.log(num) // -4   等同于1-2-3=-4

2、reverse()方法

reverse() 方法反转数组中元素的顺序。(通俗的说是倒序)

注释:reverse() 方法将改变原始数组。

// 反转数组中元素的顺序
var f= ["11", "22", "33", "44"];
f.reverse();

console.log(f) // ["44", "33", "22", "11"]

3、shift()方法

shift() 方法移除数组的第一项。

注释:shift() 方法会改变数组的长度(会改变原始数组),返回值是被移除的项目。

提示:如需删除数组的最后一项,请使用 pop() 方法。

// 删除数组中的第一个项目
var f = ["11", "22", "33", "44"];
const a = f.shift();

console.log(f) // ["22", "33", "44"]
console.log(a) // "11"

4、slice()方法

slice() 方法以新的数组对象,返回数组中被选中的元素。

slice() 方法选择从给定的 start 参数开始的元素,并在给定的 end 参数处结束,但不包括。

注释:slice() 方法不会改变原始数组。

//array.slice(start, end) 

//参数	 描述
//start	 可选。整数,指定从哪里开始选择(第一个元素的索引为 0)。
//       使用负数从数组的末尾进行选择。如果省略,则类似于 "0"。

//end	 可选。整数,指定结束选择的位置。
//       如果省略,将选择从开始位置到数组末尾的所有元素。使用负数从数组末尾进行选择。

// 从数组中选择元素
var f = ["11", "22", "33", "44", "55"];
var c = f.slice(1, 3);
console.log(c) //['22', '33']

// 使用负值选择元素
var f = ["11", "22", "33", "44", "55"];
var m = f.slice(-5, -1);
console.log(m) // ["11", "22", "33", "44"]

5、some()方法

some() 方法检查数组中的任何元素是否通过测试(作为函数提供)。

对数组中存在的每个元素执行一次函数:

  • 如果找到函数返回真值的数组元素,some() 返回真(并且不检查剩余值)
  • 否则返回 false

注释:some() 对没有值的数组元素不执行函数。不改变原始数组。

//array.some(function(currentValue, index, arr), thisValue)

//参数	    描述
//function(currentValue, index, arr)	必需。为数组中的每个元素运行的函数。

//函数参数:
//参数	        描述
//currentValue	必需。当前元素的值。
//index	        可选。当前元素的数组索引。
//arr	        可选。当前元素所属的数组对象
//thisValue	    可选。要传递给函数以用作其 "this" 值的值。
// 如果此参数为空,则值 "undefined" 将作为其 "this" 值传递。


const ages = [3, 10, 18, 20];
const f = ages.some((age) {
  return age >= 18;
});

console.log(f)  // true

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值