javascript数组里的27个方法总合详解

首先,我们需要了解JavaScript数组的数据结构和一些常用的API。以下是这篇攻略的大纲:

JavaScript数组:数据结构和常用API

1. 数组基础

数组是一种有序的数据集合。它可以存储任何类型的数据,包括数字、字符串、函数、对象等等。一个数组可以包含任意数量的元素,每个元素可以通过一个索引值(从0开始)来访问。

数组的常用操作包括:创建数组、添加元素、删除元素、访问元素、修改元素、排序数组等。

2. 数组API

JavaScript数组有许多可用的API。以下是27个常用的方法:

1. push()

在数组末尾添加一个或多个元素。

const fruits = ['apple', 'orange'];
fruits.push('banana', 'kiwi');
console.log(fruits); // ['apple', 'orange', 'banana', 'kiwi']

2. pop()

删除数组末尾的元素。

const fruits = ['apple', 'orange', 'banana'];
fruits.pop();
console.log(fruits); // ['apple', 'orange']

3. shift()

删除数组开头的元素。

const fruits = ['apple', 'orange', 'banana'];
fruits.shift();
console.log(fruits); // ['orange', 'banana']

4. unshift()

在数组开头添加一个或多个元素。

const fruits = ['apple', 'orange', 'banana'];
fruits.unshift('kiwi', 'lemon');
console.log(fruits); // ['kiwi', 'lemon', 'apple', 'orange', 'banana']

5. slice()

返回一个数组的一部分。

const fruits = ['apple', 'orange', 'banana', 'kiwi', 'lemon'];
const citrus = fruits.slice(1, 3);
console.log(citrus); // ['orange', 'banana']

6. splice()

在数组中添加、删除或替换元素。

const fruits = ['apple', 'orange', 'banana', 'kiwi'];
fruits.splice(2, 1, 'lemon', 'pear');
console.log(fruits); // ['apple', 'orange', 'lemon', 'pear', 'kiwi']

7. concat()

连接两个或多个数组。

const fruits = ['apple', 'orange'];
const veggies = ['carrot', 'celery'];
const food = fruits.concat(veggies);
console.log(food); // ['apple', 'orange', 'carrot', 'celery']

8. join()

将数组的元素连接成一个字符串。

const fruits = ['apple', 'orange', 'banana'];
const fruitString = fruits.join(', ');
console.log(fruitString); // 'apple, orange, banana'

9. indexOf()

返回数组中某个元素第一次出现的索引值。

const fruits = ['apple', 'orange', 'banana'];
const index = fruits.indexOf('orange');
console.log(index); // 1

10. lastIndexOf()

返回数组中某个元素最后一次出现的索引值。

const fruits = ['apple', 'orange', 'banana', 'orange'];
const index = fruits.lastIndexOf('orange');
console.log(index); // 3

11. forEach()

对数组中的每个元素执行一次给定的函数。

const fruits = ['apple', 'orange', 'banana'];
fruits.forEach(function(fruit){
    console.log(fruit);
});
// 'apple'
// 'orange'
// 'banana'

12. map()

返回一个由原数组每个元素执行一次给定的函数后的返回值组成的新数组。

const numbers = [1, 2, 3];
const doubleNumbers = numbers.map(function(num){
    return num * 2;
});
console.log(doubleNumbers); // [2, 4, 6]

13. filter()

返回一个由原数组中所有通过给定函数测试的元素组成的新数组。

const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter(function(num){
    return num % 2 === 0;
});
console.log(evenNumbers); // [2, 4]

14. every()

检测数组中所有元素是否都通过指定的测试。

const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.every(function(num){
    return num % 2 === 0;
});
console.log(evenNumbers); // false

15. some()

检测数组中是否存在至少一个元素通过指定的测试。

const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.some(function(num){
    return num % 2 === 0;
});
console.log(evenNumbers); // true

16. reduce()

通过函数实现数组元素的累计计算。

const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce(function(total, num){
    return total + num;
}, 0);
console.log(sum); // 15

17. reduceRight()

和reduce()类似,但是从右到左遍历数组。

const numbers = [1, 2, 3, 4, 5];
const result = numbers.reduceRight(function(previousValue, currentValue){
    return previousValue * currentValue;
});
console.log(result); // 120

18. sort()

排序数组。

const fruits = ['kiwi', 'apple', 'banana', 'orange'];
fruits.sort();
console.log(fruits); // ['apple', 'banana', 'kiwi', 'orange']

19. reverse()

反转数组的顺序。

const fruits = ['apple', 'orange', 'banana'];
fruits.reverse();
console.log(fruits); // ['banana', 'orange', 'apple']

20. toString()

将数组转换成字符串。

const fruits = ['apple', 'orange', 'banana'];
const fruitString = fruits.toString();
console.log(fruitString); // 'apple,orange,banana'

21. valueOf()

返回数组对象的原始值。

const fruits = ['apple', 'orange', 'banana'];
const value = fruits.valueOf();
console.log(value); // ['apple', 'orange', 'banana']

22. length

返回数组的长度。

const fruits = ['apple', 'orange', 'banana'];
console.log(fruits.length); // 3

23. fill()

将数组的元素全部填充成指定的值。

const arr = [1, 2, 3];
arr.fill(0);
console.log(arr); // [0, 0, 0]

24. find()

返回数组中第一个符合条件的元素。

const numbers = [2, 3, 4, 5];
const firstEvenNumber = numbers.find(function(num){
    return num % 2 === 0;
});
console.log(firstEvenNumber); // 2

25. findIndex()

返回数组中第一个符合条件的元素的索引值。

const numbers = [2, 3, 4, 5];
const firstEvenNumberIndex = numbers.findIndex(function(num){
    return num % 2 === 0;
});
console.log(firstEvenNumberIndex); // 0

26. includes()

返回数组是否包含某个元素。

const fruits = ['apple', 'orange', 'banana'];
const includesApple = fruits.includes('apple');
console.log(includesApple); // true

27. flat()

将嵌套数组展平。

const arr = [1, 2, [3, 4]];
const flatArr = arr.flat();
console.log(flatArr); // [1, 2, 3, 4]

3. 示例说明

以下是几个数组API的示例代码:

示例1 : 使用map()方法将字符串数组转换为数字数组

const strArr = ['1', '2', '3'];
const numArr = strArr.map(function(str){
    return parseInt(str);
});
console.log(numArr); // [1, 2, 3]

示例2 : 使用filter()方法筛选出数组中的负数

const numbers = [-1, 2, -3, 4, -5];
const negativeNumbers = numbers.filter(function(num){
    return num < 0;
});
console.log(negativeNumbers); // [-1, -3, -5]

以上就是JavaScript数组的数据结构和常用API的详细讲解,希望能对你理解和使用数组有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript数组里的27个方法总合详解 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • JavaScript学习历程和心得小结

    JavaScript学习历程和心得小结 学习历程 我在学习JavaScript的过程中,主要通过以下三个步骤逐渐掌握了这门编程语言: 理解基本语法和概念 在学习JavaScript的初期,我通过阅读《JavaScript高级程序设计》等书籍,对JavaScript的基本语法和概念进行了学习。这些内容包括变量、数据类型、运算符、流程控制语句、函数等基础知识。 …

    JavaScript 2023年5月18日
    00
  • JavaScript中setTimeout的那些事儿

    当在JavaScript中需要实现延迟执行的功能时,一种常用的方式是使用setTimeout方法。这个方法会在指定的时间后,将被执行的函数推入事件队列中,等待当前代码执行完毕之后被执行。 延迟执行代码 setTimeout方法的基本用法如下: setTimeout(function() { console.log(‘延迟1秒后执行’); }, 1000); …

    JavaScript 2023年5月28日
    00
  • js操作DOM–添加、删除节点的简单实例

    以下是关于”js操作DOM–添加、删除节点的简单实例”的完整攻略: 一、添加节点 在HTML页面中添加节点有四个主要方法: 1.1 appendChild() appendChild() 方法可以在父节点的末尾添加一个子节点。示例代码如下: // 创建新节点 var newP = document.createElement("p");…

    JavaScript 2023年6月10日
    00
  • 原生JS实现简单的倒计时功能示例

    下面我将详细讲解如何使用原生JS实现简单的倒计时功能。 编写HTML结构 首先,我们需要在HTML页面中创建一个倒计时的容器,可以使用<div>元素,并为其设置id属性,便于在JavaScript中操作。 <div id="countdown"></div> 编写JavaScript代码 接下来,我们使…

    JavaScript 2023年5月27日
    00
  • 原生js开发的日历插件

    原生JS开发日历插件的完整攻略包含以下几个步骤: 1. 确定需求和功能 在开发日历插件之前,我们需要确定该插件所需实现的功能和需求,如:显示当前日历、搜索指定日期、显示日程安排等等。 2. 设计日历插件的界面 根据我们的需求和功能,我们可以开始设计日历插件的整体界面和交互效果。可以考虑使用HTML/CSS来实现,同时要考虑兼容性和响应式设计。 3. 实现日历…

    JavaScript 2023年6月11日
    00
  • 整理Javascript流程控制语句学习笔记

    下面为你详细讲解“整理Javascript流程控制语句学习笔记”的完整攻略。 攻略概述 本攻略旨在帮助读者更好地理解和掌握Javascript中的流程控制语句,涵盖以下内容: 分类介绍Javascript中的流程控制语句。 详细讲解Javascript中每种流程控制语句的用法、语法和示例。 给出实际例子,帮助读者理解流程控制语句的应用场景。 提供学习Java…

    JavaScript 2023年5月27日
    00
  • JavaScript中最简洁的编码html字符串的方法

    生成HTML字符串是JavaScript中非常常见的操作,下面分享一种简洁的方法来编写HTML字符串,步骤如下: 1. 使用模板字符串方式生成HTML字符串 在ES6中提供了模板字符串,使用模板字符串可以轻松地编写HTML字符串。所谓模板字符串,就是以反引号(`)为边界,内部可以包含变量,类似下面这样: const name = ‘John’; const …

    JavaScript 2023年5月18日
    00
  • JavaScript中的伪数组用法及说明

    JavaScript中的伪数组用法及说明 在JavaScript中,伪数组是一个类数组对象,具有数组的索引和遍历方法,但是没有数组的基本方法,例如push、pop、slice等。下面我们将详细讲解伪数组的用法及说明。 伪数组的特点 伪数组拥有以下特点: 具有非负整数的索引,从0开始依次递增 长度length属性与其中包含的元素数量相等 常见的伪数组有类数组对…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部