js中数组的常用处理方法

本文详细介绍了JavaScript中的14种数组方法,包括forEach、filter、map、reduce、join、find、findIndex等,展示了它们的功能、使用示例以及对数组操作的影响。
摘要由CSDN通过智能技术生成

1.归纳

方法作用说明返回值是否修改原数组
forEach遍历数组遍历数组并对每一个元素进行操作无/undefined视具体处理而定
filter过滤数组返回一个满足筛选条件的新数组新数组
map映射数组按照规则对原数组的元素进行映射新数组
reduce累计器返回累计处理的结果,常用于求和一般为一个数
join元素拼接将数组元素拼接为字符串字符串
find查找元素返回符合条件的第一个数组元素值原数组的某一项/undefined
findIndex查找索引返回符合条件的第一个数组元素的索引索引或undefined
every检测判断判断数组中是否每一个元素都满足给定的条件true/false
some检测判断判断数组中是否至少存在一个元素满足给定的条件true/false
concat数组合并合并两个数组,返回新生成的数组新数组
sort数组排序对数组内的元素按照升序或降序的方式排序排序后的原数组
splice删除/替换根据输入的索引将原数组中的元素抽出为一个新数组新数组
reverse翻转数组将原数组元素顺序进行倒序无/undefined
from对象转换数组将要转换为数组的对象转换为数组新数组

2.使用

2.1 forEach

forEach 方法接受一个回调函数作为参数,并在数组的每个元素上调用该回调函数。回调函数接受三个参数:当前元素的值、当前元素的索引和当前整个数组。回调函数在每个元素上执行时,无法通过返回值来改变原始数组。

const array = [1, 2, 3, 4, 5];

array.forEach((element, index) => {
  console.log(`Element at index ${index}: ${element}`);
});

// 输出:
// Element at index 0: 1
// Element at index 1: 2
// Element at index 2: 3
// Element at index 3: 4
// Element at index 4: 5

2.2 filter

filter 方法接受一个回调函数作为参数,并对数组中的每个元素调用该回调函数。回调函数需要返回一个布尔值,用于指示元素是否应该包含在新数组中。如果回调函数返回 true,则元素将包含在新数组中;如果回调函数返回 false,则元素将被过滤掉。filter 方法会返回一个新的数组,其中包含满足过滤条件的元素

const array = [1, 2, 3, 4, 5];

const filteredArray = array.filter(element => element % 2 === 0);

console.log(filteredArray); // [2, 4]

2.3 map

map() 方法会接受一个函数作为参数,该函数会在数组的每个元素上被调用。这个函数会接收三个参数:元素值、元素索引和原始数组。函数可以返回一个新的值,该值将被放入新的数组中。

const numbers = [1, 2, 3, 4, 5];

const doubledNumbers = numbers.map(function (number) {
  return number * 2;
});

console.log(doubledNumbers); // [2, 4, 6, 8, 10]

2.4 reduce

reduce() 方法接受两个参数:一个回调函数和一个可选的初始值。回调函数在数组中的每个元素上执行,并将前一个回调的结果和当前元素作为参数。它返回一个经过聚合处理的单个值,该值会在下一次迭代中作为前一个回调的结果。

const numbers = [1, 2, 3, 4, 5];

const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);

console.log(sum); // 15

2.5 join

join() 方法接受一个可选的分隔符作为参数,该分隔符将用于连接数组的元素。如果没有提供分隔符,则默认使用逗号作为分隔符。

const fruits = ['apple', 'banana', 'orange'];

const result = fruits.join(', ');

console.log(result); // 'apple, banana, orange'

2.6 find

find() 方法接受一个回调函数作为参数,该回调函数用于定义查找的条件。回调函数会对数组中的每个元素进行调用,并传入三个参数:当前元素、当前索引和整个数组。在回调函数中,你可以使用逻辑表达式或其他操作来定义查找的条件。

const numbers = [1, 2, 3, 4, 5];

const result = numbers.find((element) => element > 3);

console.log(result); // 4

2.7 findIndex

findIndex() 方法接受一个回调函数作为参数,该回调函数用于定义查找的条件。回调函数会对数组中的每个元素进行调用,并传入三个参数:当前元素、当前索引和整个数组。在回调函数中,你可以使用逻辑表达式或其他操作来定义查找的条件。

const numbers = [1, 2, 3, 4, 5];

const result = numbers.findIndex((element) => element > 3);

console.log(result); // 3

2.8 every

every() 方法接受一个回调函数作为参数,该回调函数用于定义检测条件。回调函数会对数组中的每个元素进行调用,并传入三个参数:当前元素、当前索引和整个数组。在回调函数中,你可以使用逻辑表达式或其他操作来定义检测的条件。

const numbers = [1, 3, 5, 7, 9];

const result = numbers.every((element) => element % 2 !== 0);

console.log(result); // true

2.9 some

some() 方法接受一个回调函数作为参数,该回调函数用于定义检测条件。回调函数会对数组中的每个元素进行调用,并传入三个参数:当前元素、当前索引和整个数组。在回调函数中,你可以使用逻辑表达式或其他操作来定义检测的条件。

const numbers = [5, 8, 12, 3, 9];

const result = numbers.some((element) => element > 10);

console.log(result); // true

2.10 concat

concat() 方法可以接受任意数量的参数,每个参数可以是一个数组或一个值。这些参数会按照传入的顺序依次合并到新数组中。

const array1 = [1, 2, 3];
const array2 = [4, 5, 6];

const newArray = array1.concat(array2);

console.log(newArray); // [1, 2, 3, 4, 5, 6]

2.11 sort

sort() 方法根据元素比较的结果,对数组进行排序。排序是在原始数组上进行的,也就是说,会修改原始数组,并返回排序后的数组。

我们提供了一个箭头函数作为参数,指定了如何比较两个数字。比较函数接受两个参数 a 和 b,如果 a 小于 b,则返回一个负数;如果 a 大于 b,则返回一个正数;如果 a 等于 b,则返回 0。通过这个比较函数,sort 方法会按照数字的大小对元素进行排序。

const numbers = [10, 2, 7, 5, 1];

numbers.sort((a, b) => a - b);

console.log(numbers); // 输出 [1, 2, 5, 7, 10]

2.12 splice

splice 是数组的一个方法,用于修改数组,可以删除、插入或替换数组的元素。splice 方法会直接修改原始数组,并返回被删除的元素组成的新数组。

删除

const fruits = ['apple', 'banana', 'pear', 'orange'];

const deleted = fruits.splice(1, 2);

console.log(fruits); // 输出 ["apple", "orange"]
console.log(deleted); // 输出 ["banana", "pear"]

插入

const fruits = ['apple', 'banana', 'pear'];

fruits.splice(1, 0, 'orange', 'kiwi');

console.log(fruits); // 输出 ["apple", "orange", "kiwi", "banana", "pear"]

替换

const fruits = ['apple', 'banana', 'pear'];

fruits.splice(1, 1, 'orange', 'kiwi');

console.log(fruits); // 输出 ["apple", "orange", "kiwi"]

2.13 reverse

reverse() 方法会将原始数组中的元素按照相反的顺序重新排列,并将修改后的数组返回。

const array = [1, 2, 3, 4, 5];

array.reverse();

console.log(array); // [5, 4, 3, 2, 1]

2.14 from

Array.from 方法接受两个参数:第一个参数是要被转换为数组的对象,第二个参数是一个可选的映射函数,用于对数组中的每个元素进行转换。

// 使用字符串创建数组
const str = 'Hello';
const array = Array.from(str);

console.log(array); // ['H', 'e', 'l', 'l', 'o']
  • 19
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript数组有许多常用方法可以帮助我们处理和操作数组。以下是一些常见的JavaScript数组方法: 1. Array.concat(arr1, arr2...):将两个或多个数组合并成一个新数组。原数组不会被改变。 2. Array.splice(index, howmany, arr1, arr2...):用于添加或删除数组的元素。从指定的index位置开始删除howmany个元素,并将arr1、arr2...依次插入到数组。如果howmany为0,则不会删除任何元素。原数组会被改变。 3. Array.map(function):对数组的每个元素执行指定的函数,并将函数的返回值组成一个新的数组。原数组不会被改变。 4. Array.filter(function):根据指定函数的条件,筛选出满足条件的元素,返回一个新的数组。原数组不会被改变。 5. Array.forEach(function):对数组的每个元素执行指定的函数,没有返回值。原数组不会被改变。 6. Array.find(function):返回数组满足指定条件的第一个元素。如果没有找到满足条件的元素,则返回undefined。 7. Array.findIndex(function):返回数组满足指定条件的第一个元素的索引。如果没有找到满足条件的元素,则返回-1。 8. Array.reduce(function):对数组的所有元素执行指定的函数,将它们归纳为一个单一的值。原数组不会被改变。 这些是JavaScript数组的一些常用方法,它们可以帮助我们在处理数组时更加方便和高效。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [js数组常用方法](https://blog.csdn.net/u012451819/article/details/125768796)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值