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 入门基础知识 想学习js的朋友可以参考下

    JavaScript 入门基础知识 本文将介绍 JavaScript 的基础知识,适合想要入门学习 JavaScript 的朋友参考。包括变量、数据类型、运算符、条件语句、循环语句、函数等基础内容。 变量 变量是存储数据的容器,在 JavaScript 中通过 var、let、const 来声明变量。 // 声明变量并初始化 var name = &quot…

    JavaScript 2023年5月18日
    00
  • jQuery表单验证插件formValidator(改进版)

    jQuery表单验证插件formValidator(改进版)攻略 一、简介 jQuery表单验证插件formValidator是一款实用的前端验证插件,可以方便地验证表单输入是否符合指定的规则,从而提高用户输入数据的准确度,避免非法数据被提交。经过改进的formValidator拓展了原版的功能,增加了新的验证规则,如密码强度验证、手机号码验证等,同时去除了…

    JavaScript 2023年6月10日
    00
  • js学习笔记之class类、super和extends关键词

    JS学习笔记之Class类、super和extends关键词攻略 介绍 在ES6之前,JavaScript是一门纯粹的面向对象语言,而没有类的概念,而是采用基于原型的继承方式。在ES6之后,JavaScript引入了Class类、super和extends关键词,使得JavaScript的面向对象变得更加完善。Class语法让JavaScript的对象声明,…

    JavaScript 2023年6月10日
    00
  • 详解JS WebSocket断开原因和心跳机制

    详解JS WebSocket断开原因和心跳机制 WebSocket 是一个重要的协议,可在浏览器和服务器之间双向通信,且具有较低的延迟和较高的带宽利用率。但是,在实际应用中,WebSocket 经常会由于各种原因而断开连接,为此,我们需要对 WebSocket 的断开原因和心跳机制做详细了解。 WebSocket断开原因 1. 服务器主动关闭 服务器端主动关…

    JavaScript 2023年5月28日
    00
  • js实现不提交表单获取单选按钮值的方法

    JS实现在不提交表单的情况下获取单选按钮(radio button)的值有多种方法。下面提供两种常用方法供参考: 方法一:遍历单选按钮组,获取选中的值 要实现此方法,需给每个单选按钮设置同一个name属性,并为其添加相同的class。然后使用JS遍历单选按钮组,找到被选中的单选按钮,并获取其value属性即可。 // HTML结构 <input typ…

    JavaScript 2023年6月10日
    00
  • javascript基础——String

    JavaScript基础 – String 什么是String String是JavaScript中的一种基本数据类型,表示文本字符串。可以使用单引号(‘)、双引号(“)或反引号(“`)来表示一个字符串。 字符串的基本操作 字符串的长度 可以使用字符串的length属性来获取该字符串的长度。 const str = ‘hello, world!’; con…

    JavaScript 2023年5月18日
    00
  • 小发现之浅谈location.search与location.hash的问题

    标题:小发现之浅谈location.search与location.hash的问题 背景介绍 location.search与location.hash是前端开发中常用的两个属性,它们分别用于获取当前url中带的查询参数和锚点参数。这两个属性的使用方式不同,而且在某些情况下会出现一些问题,需要特别注意。 location.search与location.ha…

    JavaScript 2023年6月11日
    00
  • js动画效果制件让图片组成动画代码分享

    下面是关于“js动画效果制件让图片组成动画代码分享”的完整攻略。 一、什么是JS动画效果制件 JS动画效果制件是一种用JavaScript创建动画效果的工具,它可以帮助用户更轻松、更高效地制作出丰富多彩的动画效果,同时可以通过代码进行完全自定义。 常见的JS动画效果制件包括jQuery中的animate()方法、GreenSock Animation Pla…

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