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

yizhihongxing

首先,我们需要了解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日

相关文章

  • js中的面向对象之对象常见创建方法详解

    JS中的面向对象之对象常见创建方法详解 1. 对象字面量 对象字面量是创建对象的一种简单方法,它是用一对花括号{}括起来的数据结构,其中包含一个或多个属性和属性值,属性名和属性值用冒号:”分隔,多个属性之间用逗号,`分隔。 示例代码: let student = { name: ‘Tom’, age: 20, gender: ‘male’, sayHi: f…

    JavaScript 2023年5月27日
    00
  • JS如何实现在页面上快速定位(锚点跳转问题)

    JS如何实现在页面上快速定位(锚点跳转问题)的攻略: 在HTML中使用锚点 可以在文档中使用a标签和name属性来建立一个锚点。例如: <a name="chapter1">章节1</a> 然后在页面中其他位置加入链接: <a href="#chapter1">跳转到章节1</…

    JavaScript 2023年6月11日
    00
  • 理解Javascript_07_理解instanceof实现原理

    理解Javascript_07_理解instanceof实现原理 在Javascript中,我们可以使用instanceof操作符来判断一个对象是否属于某个类或者构造函数的实例。这是一个非常常见的操作,经常用于判断一个对象的类型。在本篇攻略中,我们将深入探讨instanceof的实现原理,以及如何使用它来判断一个对象的类型。 instanceof的作用 in…

    JavaScript 2023年5月28日
    00
  • php中preg_replace正则替换用法分析【一次替换多个值】

    《PHP中preg_replace正则替换用法分析【一次替换多个值】》是一篇介绍PHP中正则替换的文章,主要介绍preg_replace函数中的一些使用技巧,可以一次替换多个值。 一、preg_replace函数 preg_replace是PHP中用于正则替换的函数。它的语法如下: preg_replace($pattern, $replacement, $…

    JavaScript 2023年6月10日
    00
  • 深入理解Javascript中的valueOf与toString

    深入理解Javascript中的valueOf与toString 在Javascript中, 对象数据类型是一种复杂的数据类型, 它们包含了很多有用的信息, 如类型、值等。我们常常需要将这些信息转化为字符串或数字类型,这时,我们就需要使用到对象的 valueOf 方法或 toString 方法。下面,我们将分别介绍这两个方法。 valueOf方法 value…

    JavaScript 2023年6月10日
    00
  • JavaScript实现仿网易通行证表单验证

    下面我详细讲解一下“JavaScript实现仿网易通行证表单验证”的完整攻略。 步骤一:HTML表单的搭建 第一步是在HTML页面中创建一个表单,用来进行用户输入信息的收集。下面是一个示例表单: <form id="registerForm" method="post"> <label for=&qu…

    JavaScript 2023年6月10日
    00
  • JavaScript中的事件处理程序

    事件处理程序是JavaScript语言中非常重要的一部分,它能够为页面添加交互性,让用户与网页发生互动。下面针对JavaScript中的事件处理程序,提供完整的攻略: 事件处理程序概述 在JavaScript中,事件一般指用户在页面上所作的操作,比如鼠标点击、键盘按键等。可以使用事件处理程序来响应这些事件。事件处理程序是一个函数,用于处理事件中的逻辑。一般情…

    JavaScript 2023年5月27日
    00
  • jquery中cookie用法实例详解(获取,存储,删除等)

    针对jquery中cookie用法的实例详解,请参考以下内容。 1. 引入jquery.cookie插件 在使用jquery.cookie插件前,需要先将该插件引入到HTML文件中。可以通过CDN引入,也可以将该插件下载到本地后再引入。 <!–通过CDN引入jquery和jquery.cookie插件–> <script src=&qu…

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