方法简介

JavaScript中的数组是一种非常重要的数据类型,它提供了许多方法来处理和操作数组数据。下面是一些常用的JavaScript数组方法:

  1. push(): 向数组末尾添加一个或多个元素,并返回新的数组长度。

  2. pop(): 从数组末尾删除一个元素,并返回删除的元素。

  3. shift(): 从数组开头删除一个元素,并返回删除的元素。

  4. unshift(): 向数组开头添加一个或多个元素,并返回新的数组长度。

  5. slice(): 从数组中复制一部分元素,并返回一个新的数组。

  6. splice(): 在数组中添加或删除元素,并返回被删除元素的数组。

  7. concat(): 连接两个或多个数组,并返回一个新的数组。

  8. join(): 把数组中的所有元素转换为字符串,并用指定的分隔符分隔,返回字符串。

  9. reverse(): 反转数组中元素的顺序,并返回反转后的数组。

  10. sort(): 对数组元素进行排序,并返回排序后的数组。

  11. indexOf(): 返回指定元素在数组中第一次出现的位置,如果不存在则返回-1。

  12. lastIndexOf(): 返回指定元素在数组中最后一次出现的位置,如果不存在则返回-1。

  13. filter(): 过滤数组中的元素,并返回符合条件的元素组成的新数组。

  14. map(): 对数组中的每个元素进行操作,并返回一个新数组。

  15. reduce(): 从左到右对数组中的元素进行操作,并返回一个值。

方法详解

1.push

push() 该方法向数组的末尾添加一个或多个元素,并返回新的数组长度。它的语法如下:arr.push(element1[, element2[, ...[, elementN]]])

let fruits = ['apple', 'banana', 'orange'];
let length = fruits.push('grape', 'pear');
console.log(fruits); // ["apple", "banana", "orange", "grape", "pear"]
console.log(length); // 5

2.pop()

该方法从数组的末尾删除一个元素,并返回删除的元素。它的语法如下:arr.pop()

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

3.shift()

该方法从数组的开头删除一个元素,并返回删除的元素。它的语法如下:arr.shift()

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

4.unshift()

该方法向数组的开头添加一个或多个元素,并返回新的数组长度。它的语法如下:arr.unshift(element1[, element2[, ...[, elementN]]])

let fruits = ['apple', 'banana', 'orange'];
let length = fruits.unshift('grape', 'pear');
console.log(fruits); // ["grape", "pear", "apple", "banana", "orange"]
console.log(length); // 5

5.slice()

该方法从数组中复制一部分元素,并返回一个新的数组。它的语法如下:arr.slice([begin[, end]])

let fruits = ['apple', 'banana', 'orange', 'grape', 'pear'];
let slicedFruits = fruits.slice(1, 4);
console.log(slicedFruits); // ["banana", "orange", "grape"]

6.splice()

该方法在数组中添加或删除元素,并返回被删除元素的数组。它的语法如下:arr.splice(start[, deleteCount[, item1[, item2[, ...]]]])

let fruits = ['apple', 'banana', 'orange', 'grape', 'pear'];
let removedFruits = fruits.splice(2, 2, 'kiwi', 'mango');
console.log(fruits); // ["apple", "banana", "kiwi", "mango", "pear"]
console.log(removedFruits); // ["orange", "grape"]

7.concat()

该方法连接两个或多个数组,并返回一个新的数组。它的语法如下:arr.concat(array1[, array2[, ...[, arrayN]]])

let fruits1 = ['apple', 'banana', 'orange'];
let fruits2 = ['grape', 'pear'];
let allFruits = fruits1.concat(fruits2);
console.log(allFruits); // ["apple", "banana", "orange", "grape", "pear"]

8.join()

该方法把数组中的所有元素转换为字符串,并用指定的分隔符分隔,返回字符串

let fruits = ['apple', 'banana', 'orange'];
let joinedFruits = fruits.join(', ');
console.log(joinedFruits); // "apple, banana, orange"

9.indexOf()

该方法返回数组中第一个找到的指定元素的索引,如果没找到则返回-1。它的语法如下:arr.indexOf(searchElement[, fromIndex])

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

10.lastIndexOf()

该方法返回数组中最后一个找到的指定元素的索引,如果没找到则返回-1。它的语法如下:arr.lastIndexOf(searchElement[, fromIndex])

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

11.includes()

该方法返回一个布尔值,表示数组是否包含指定元素。它的语法如下:arr.includes(searchElement[, fromIndex])

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

12.forEach()

该方法对数组中的每个元素执行指定的操作。它的语法如下:arr.forEach(callback(currentValue[, index[, array]])[, thisArg])

let fruits = ['apple', 'banana', 'orange'];
fruits.forEach(function(fruit, index) {console.log(index + ": " + fruit);
});
// 0: apple
// 1: banana
// 2: orange

13.map()

该方法创建一个新数组,其中的元素是对原数组中的每个元素应用指定的操作后的结果。它的语法如下:arr.map(callback(currentValue[, index[, array]])[, thisArg])

let numbers = [1, 2, 3];
let doubledNumbers = numbers.map(function(number) {return number * 2;
});
console.log(doubledNumbers); // [2, 4, 6]

14.filter()

该方法创建一个新数组,其中的元素是原数组中符合指定条件的元素。它的语法如下:arr.filter(callback(currentValue[, index[, array]])[, thisArg])

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

15.reduce()

该方法对数组中的元素逐个执行指定的操作,返回一个累积的结果。它的语法如下:arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])

let arr = [1, 2, 3, 4, 5];// 删除 reduce 的初始值(没有 0)
let result = arr.reduce((sum, current) => sum + current);alert( result ); // 15

题尾

分享今天学的一首诗

月夜

唐 杜甫

今夜鄜州月,闺中只独看。
 遥怜小儿女,未解忆长安。
 香雾云鬟湿,清辉玉臂寒。
  何时倚虚幌,双照泪痕干。

 这首诗借看月而抒离情,但抒发的不是一般情况下的夫妇离别之情。字里行间,表现出时代的特征,离乱之痛和内心之忧熔于一炉,对月惆怅,忧叹愁思,而希望则寄托于不知“何时”的未来。

JavaScript数组常用方法总结及使用详解相关推荐

  1. JavaScript 数组中的 indexOf 方法详解

    最近项目遇到一个小问题代码我会简化成小例子展示给大家. 用心看到最后会有收获哈,基础扎实的童鞋可以直接跳到数组类型使用. 说到 indexOf 大家并不陌生,判断字符串是否包涵子字符串时特别常用(正则 ...

  2. JavaScript 面试中常见算法问题详解

    JavaScript 面试中常见算法问题详解,翻译自 https://github.com/kennymkchan/interview-questions-in-javascript.下文提到的很多问 ...

  3. html+css+javascript实现小游戏2048(详解,附源代码)

    html+css+javascript实现小游戏2048(详解,附源代码) 1.上下左右的移动原理相同,这里只详细说明向上移动的方法 2.这里的上下左右由wasd四个键控制 3-小方块空的意思就是没数 ...

  4. python数组相减_对Python 中矩阵或者数组相减的法则详解

    对Python 中矩阵或者数组相减的法则详解 最近在做编程练习,发现有些结果的值与答案相差较大,通过分析比较得出结论,大概过程如下: 定义了一个计算损失的函数: def error(yhat,labe ...

  5. js some every数组方法的区别与详解

    js some every数组方法的区别于详解 前言 一.some方法 二.every() 方法 总结 前言 在开发中对数组数据的常规操作我们会经常遇到一些必要的操作 例如:要检测数组中的元素是否满足 ...

  6. python画二维散点图-基于python 二维数组及画图的实例详解

    1.二维数组取值 注:不管是二维数组,还是一维数组,数组里的数据类型要一模一样,即若是数值型,全为数值型 #二维数组 import numpy as np list1=[[1.73,1.68,1.71 ...

  7. php 打印对象详细信息,php打印显示数组与对象的函数详解

    php打印显示数组与对象的函数详解 发布于 2014-11-17 18:55:49 | 699 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext P ...

  8. php中this的使用技巧,JavaScript中this关键字使用方法详解

    JavaScript中this关键字使用方法详解 在面向对象编程语言中,对于this关键字我们是非常熟悉的.比如C++.C#和Java等都提供了这个关键字,虽然在开始学习的时候觉得比较难,但只要理解了 ...

  9. 数组,异质结构以及指针的详解

    数组,异质结构以及指针的详解 前言 昨天看了一部韩国电影,老千2,看到凌晨5点,不过发现韩国的棒子们确实养眼,女的贼拉漂亮,还有大尺度哦~ 咱们上一次分析了过程(方法)的实现,其中精妙的栈帧占据了首要 ...

最新文章

  1. MySQL双机热备部署
  2. SCCM2012R2之二安装SQL Server
  3. 公司电脑用域账号访问团队文件夹
  4. 关于项目管理的一些想法
  5. SQL Server 2005 高级程序设计 学习笔记(2)
  6. linux中mac地址路径,MAC地址
  7. virtualenv 安装不同版本的虚拟环境的办法
  8. [链表]同时遍历两个链表
  9. 华为设备堆叠原理和配置
  10. 基于嵌入式linux路由转发功能的实现
  11. Android应用程序组件Content Provider的启动过程源代码分析(5)
  12. Easyrecovery激活码生成器下载地址?
  13. 玩转树莓派——游戏主机模拟器
  14. Compass的模块介绍
  15. 镁光ddr3布线规则_讨论一下DDR3 缓存的电压和频率
  16. Android6.0 Qualcomm Atheros QCA6174A WiFi Model Support
  17. 22. 关于定时任务指定的时间间隔内没有完成任务的处理
  18. npm ------ npm 安装删除命令(rimraf)删除本地依赖包
  19. android使用动画画心形,Android中利用画图类和线程画出闪烁的心形,送给亲爱的他(她)...
  20. 5G无线技术基础自学系列 | 双工技术

热门文章

  1. Unity 3D鼠标操作实现旋转、缩放观察物体
  2. C语言task的用法,C# Task 用法
  3. 混血网站诞生 公司相互嫁接成就新商业模式
  4. IDEA高级使用教程
  5. Python实现rosbag转换成video
  6. 暴风魔镜 光标漂移_如何防止光标在游戏过程中漂移到另一个监视器
  7. 路由器和三层交换机的基本实验操作
  8. Alios things资料篇
  9. 如何设置vs窗口的属性管理器和解决方案管理器的位置
  10. 如本科技上海分公司乔迁新址,加速长三角地区的业务覆盖