ES高阶函数,filter,map,reduce,splice

 

目录

filter

map

reduce

splice

综合使用1

综合使用2



filter

// 1.filter使用
let nums = [10, 20, 30, 40, 50, 100, 200]
let newNums1 = nums.filter(function (val) {
    return val < 100;
})
console.log(newNums1);

 

map

// 2.map使用
let nums = [10, 20, 30, 40, 50, 100, 200]
let newNums2 = nums.map(function (val) {
    return val * 10;
});
console.log(newNums2)

 

reduce

// 3.reduce使用,对数组中所有的内容进行汇总
// 每一次的使用之是上一次的返回值
let nums = [10, 20, 30, 40, 50, 100, 200]
let total1 = nums .reduce(function (preValue, nextValue) {
    return preValue + nextValue;
}, 0);
console.log(total1);

splice

// 从下标为0开始,删除1个元素
let arr = [1, 2, 3, 4, 5]
arr.splice(2, 2);
console.log(arr);

// 从下标为2开始,删除2个元素。并从下标为2开始添加8,9,10三个元素
let arr1 = [1, 2, 3, 4, 5]
arr1.splice(2, 2, 8, 9, 10);
console.log(arr1);

 

综合使用1

 

let nums = [10, 20, 30, 40, 50, 100, 200]

// 1.filter使用
let newNums1 = nums.filter(function (val) {
    return val < 100;
})
console.log(newNums1);

// 2.map使用
let newNums2 = newNums1.map(function (val) {
    return val * 10;
});
console.log(newNums2)

// 3.reduce使用,对数组中所有的内容进行汇总
// 每一次的使用之是上一次的返回值
let total1 = newNums2.reduce(function (preValue, nextValue) {
    return preValue + nextValue;
}, 0);
console.log(total1);

// 综合使用
let total = nums.filter(function (val) {
    return val < 100;
}).map(function (val) {
    return val * 10;
}).reduce(function (pre, next) {
    return pre + next;
}, 0)
console.log(total);

综合使用2

//函数式变成
let total3 = nums
    .filter(val => val < 100)
    .map(val => val * 10)
    .reduce((pre, next) => pre + next)
console.log(total3);

 

### 关于 `splice()` 函数的使用方法 `splice()` 是 JavaScript 中一种非常灵活的方法,主要用于修改数组的内容。它可以用来删除、添加或替换数组中的元素,并且会直接影响原始数组。 #### 1. 基本语法 其基本语法如下所示: ```javascript array.splice(start, deleteCount, item1, item2, ...); ``` - **start**: 表示从哪个索引位置开始操作。如果该参数为负数,则表示从数组末尾向前计算的位置[^2]。 - **deleteCount**: 可选参数,指定要删除的元素数量。如果不提供此参数或者将其设置为 0,则不会删除任何元素。 - **item1, item2,...**: 可选参数,表示要向数组中添加的新元素。可以是一个或多个新项。 --- #### 2. 删除元素 当仅需删除某些元素时,只需定义 `start` 和 `deleteCount` 参数即可: ```javascript let fruits = ["apple", "banana", "cherry", "date"]; fruits.splice(1, 2); // 从索引 1 开始,删除 2 个元素 console.log(fruits); // 输出: ['apple', 'date'] ``` 上述代码展示了如何从数组中移除两个中间元素。 --- #### 3. 添加元素 可以通过省略 `deleteCount` 或者将其设为 0 来实现只添加而不删除的操作: ```javascript let colors = ["red", "green", "blue"]; colors.splice(1, 0, "yellow"); // 在索引 1 处插入黄色 console.log(colors); // 输出: ['red', 'yellow', 'green', 'blue'] ``` 这里演示了在特定位置插入一个新颜色的过程。 --- #### 4. 替换元素 为了完成替换动作,既需要设定被取代的数量 (`deleteCount`) ,也需要给出新的替代项目: ```javascript let animals = ["cat", "dog", "rabbit"]; animals.splice(1, 1, "elephant"); // 将狗替换成大象 console.log(animals); // 输出: ['cat', 'elephant', 'rabbit'] ``` 这段脚本清楚地表明了一个旧成员是如何被另一个所代替的情况。 --- #### 5. 返回值 值得注意的是,`splice()` 方法返回由被删除掉的那些条目组成的阵列;如果没有发生删减行为则为空[] : ```javascript let numbers = [1, 2, 3, 4]; let removedItems = numbers.splice(2, 1); console.log(numbers); // 输出: [1, 2, 4] console.log(removedItems); // 输出: [3] ``` 这进一步强调了即使进行了变更,原集合依旧保持不变除了那部分变动之外的部分。 --- ### 结论 综上所述,`splice()` 提供了一种高效的方式来处理动态变化的数据集,在实际开发过程中具有广泛的应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值