JavaScript数组的原生方法

        JavaScript中的数组是一种非常常见和重要的数据结构,它提供了一系列原生方法,用于操作和处理数组数据。这些原生方法提供了丰富的功能,可以让开发者更加高效地对数组进行增删改查等操作。本文将介绍一些常用的JavaScript数组的原生方法,帮助读者更好地理解和应用这些强大的工具。

1. push() 和 pop():在数组末尾增加和删除元素

  • push() 方法用于向数组末尾添加一个或多个元素。
  • pop() 方法用于删除并返回数组的最后一个元素。
let fruits = ['apple', 'banana', 'orange'];

fruits.push('grape'); // 向数组末尾添加元素
console.log(fruits); // 输出: ['apple', 'banana', 'orange', 'grape']

let lastFruit = fruits.pop(); // 删除并返回数组的最后一个元素
console.log(lastFruit); // 输出: 'grape'
console.log(fruits); // 输出: ['apple', 'banana', 'orange']

2. unshift() 和 shift():在数组开头增加和删除元素

  • unshift() 方法用于向数组开头添加一个或多个元素。
  • shift() 方法用于删除并返回数组的第一个元素。
let fruits = ['apple', 'banana', 'orange'];

fruits.unshift('grape'); // 向数组开头添加元素
console.log(fruits); // 输出: ['grape', 'apple', 'banana', 'orange']

let firstFruit = fruits.shift(); // 删除并返回数组的第一个元素
console.log(firstFruit); // 输出: 'grape'
console.log(fruits); // 输出: ['apple', 'banana', 'orange']

3. splice():在指定位置插入、删除或替换元素

  • splice() 方法可以实现在数组的指定位置插入、删除或替换元素的操作。
let fruits = ['apple', 'banana', 'orange'];

fruits.splice(1, 0, 'grape', 'kiwi'); // 在索引为1的位置插入元素
console.log(fruits); // 输出: ['apple', 'grape', 'kiwi', 'banana', 'orange']

fruits.splice(2, 2, 'pear'); // 替换索引为2和3的元素
console.log(fruits); // 输出: ['apple', 'grape', 'pear', 'orange']

let removedFruits = fruits.splice(1, 2); // 删除索引为1和2的元素
console.log(removedFruits); // 输出: ['grape', 'pear']
console.log(fruits); // 输出: ['apple', 'orange']

4. slice():提取数组的一部分

  • slice() 方法返回一个新数组,其中包含原数组中指定的开始和结束位置之间的元素。
let fruits = ['apple', 'banana', 'orange', 'grape', 'kiwi'];

let citrusFruits = fruits.slice(1, 4); // 提取索引1到3的元素(不包括索引4)
console.log(citrusFruits); // 输出: ['banana', 'orange', 'grape']

5. concat():合并多个数组

  • concat() 方法将多个数组合并为一个新数组。
let fruits = ['apple', 'banana'];
let moreFruits = ['orange', 'grape'];

let allFruits = fruits.concat(moreFruits); // 合并两个数组
console.log(allFruits); // 输出: ['apple', 'banana', 'orange', 'grape']

6. join():将数组的元素连接成字符串

  • join() 方法将数组的所有元素连接成一个字符串,并返回该字符串。
let fruits = ['apple', 'banana', 'orange'];

let fruitString = fruits.join(', '); // 将数组元素用逗号和空格连接成字符串
console.log(fruitString); // 输出: 'apple, banana, orange'

7. indexOf() 和 lastIndexOf():查找元素的位置

  • indexOf() 方法返回数组中指定元素第一次出现的位置。
  • lastIndexOf() 方法返回数组中指定元素最后一次出现的位置。
let fruits = ['apple', 'banana', 'orange', 'banana'];

let bananaIndex = fruits.indexOf('banana'); // 查找第一次出现的索引
console.log(bananaIndex); // 输出: 1

let lastBananaIndex = fruits.lastIndexOf('banana'); // 查找最后一次出现的索引
console.log(lastBananaIndex); // 输出: 3

8. forEach():遍历数组并执行回调函数

  • forEach() 方法对数组的每个元素执行一次回调函数。
let fruits = ['apple', 'banana', 'orange'];

fruits.forEach(function(fruit) {
  console.log(fruit); // 遍历数组并输出每个元素
});
// 输出:
// 'apple'
// 'banana'
// 'orange'

9. map():根据回调函数对数组的每个元素进行映射

  • map() 方法根据回调函数对数组的每个元素进行操作,并返回一个新的数组。
let numbers = [1, 2, 3, 4, 5];

let doubledNumbers = numbers.map(function(number) {
  return number * 2; // 将每个元素乘以2并返回新数组
});
console.log(doubledNumbers); // 输出: [2, 4, 6, 8, 10]

10. filter():根据条件筛选数组的元素

  • filter() 方法根据指定的条件筛选数组的元素,并返回一个新的数组。
let numbers = [1, 2, 3, 4, 5];

let evenNumbers = numbers.filter(function(number) {
  return number % 2 === 0; // 返回所有偶数的新数组
});
console.log(evenNumbers); // 输出: [2, 4]

11. reduce():对数组的元素进行累积计算

  • reduce() 方法对数组的元素进行累积计算,并返回计算结果。
let numbers = [1, 2, 3, 4, 5];

let sum = numbers.reduce(function(acc, number) {
  return acc + number; // 对数组元素求和
}, 0);
console.log(sum); // 输出: 15

12. sort():对数组进行排序

  • sort() 方法对数组的元素进行排序,默认按照字符串的 Unicode 编码进行排序。
let fruits = ['apple', 'banana', 'orange'];

fruits.sort(); // 默认按照字符串的 Unicode 编码进行排序
console.log(fruits); // 输出: ['apple', 'banana', 'orange']

13. reverse():反转数组的顺序

  • reverse() 方法用于反转数组中元素的顺序。
let fruits = ['apple', 'banana', 'orange'];

fruits.reverse(); // 反转数组元素的顺序
console.log(fruits); // 输出: ['orange', 'banana', 'apple']
喜欢的话麻烦点个赞吧,如果觉得写得不错欢迎赞赏哦!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值