JS数组基础(二)

一、简单的concat方法

在JavaScript中,concat方法一般用于合并两个或多个数组。这个方法不会改变现有的数组,而是返回一个新数组。示例如下:

let arr1 = [1, 2, 3, 4, 5];
let arr2 = [6, 7, 8, 9, 10];
let arr3 = [11, 12, 13, 14, 15];
let res = arr1.concat(arr2, arr3); //[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

此外它还可以用于合并非数组元素,示例如下:

let array1 = [1, 2, 3];
let element = 4;
let result = array1.concat(element); // 结果是: [1, 2, 3, 4]

注意事项:对于嵌套数组而言,不会递归合并,示例如下:

let arr1 = [1, 2, [3, 4]];
let arr2 = [5, 6];
let res = arr1.concat(arr2); // 结果是: [1, 2, [3, 4], 5, 6]

二、forEach的简单运用

forEach方法是 JavaScript 数组中的一个内置方法,用于遍历数组中的每一个元素,并对每个元素执行一次提供的回调函数。以下是 forEach方法的详细解释:

语法结构

array.forEach(callback(currentValue, index, array), thisArg)

参数解释

callback: 是一个回调函数,它接收三个参数

        currentValue (必需): 数组中当前正在处理的元素。

        index (可选): 当前元素的索引。

        array (可选): 调用forEach的数组本身。

thisArg (可选):

        可选参数。当执行回调函数时,用作 this的值。如果没有提供,则使用 undefined

返回值

forEach方法返回 undefined。换句话说,forEach不会改变原数组(除非回调函数显式地改变了数组元素),也不会返回新数组。

代码示例:

let colors = "红橙黄绿靛青紫".split("");
colors.forEach(function(color, index, array){
  console.log(`颜色 ${index + 1}: ${color} (数组长度: ${array.length})`);
});

注意事项:

使用forEach方法遍历数组时,无法通过控制语句break,continue来中断或跳出循环

三、数组的筛选filter

filter是 JavaScript 数组的一个高阶函数,用于筛选出符合特定条件的数组元素,并返回一个新的数组。它不会改变原数组,而是返回一个新的数组,其中包含通过测试的所有元素。

语法结构

array.filter(callback(element[, index[, array]])[, thisArg])

参数解释

callback: 是一个回调函数,它接收三个参数

        element(必需): 数组中当前正在测试的元素。

        index (可选): 当前元素的索引。

        array (可选): 调用 filter的数组本身。

thisArg (可选): 传递给回调函数的 this值。

返回值:新数组

示例代码

let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

//筛选出大于等于5的数字
let filteredNumbersOverFive = numbers.filter(function(element){
    return element >= 5;
});


//筛选出偶数
let filteredNumbersOverFive = numbers.filter(function(element){
    return element % 2 === 0;
});

注意事项

该方法不会修改原数组,而是返回新数组

回调函数的返回值必须时布尔值

如果原数组时空数组,则返回空数组

下一节:JS数组的排序

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

jackispy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值