面试必备:数组的常用方法

什么是数组?

        数组(Array)是一种有序的元素序列,用于存储多个相同类型的数据集合。在计算机科学中,数组是一种数据结构,由相同类型的元素组成,并分配一块连续的内存空间。数组的定义包括有序的元素序列,数组名用于命名由有限个相同类型变量组成的集合。每个变量称为数组的分量或元素。数组提供了一个统一的数组名和不同的下标来确定数组中的元素。通过下标,我们可以访问数组中特定位置的元素。数组是一种最简单的复合数据类型,可用于存储字符串、数字、对象等多种数据类型。总体而言,数组在编程中是一种重要的数据结构,用于有效地组织和存储数据。数组的方法有很多种,我们在开发中常用有以下这些,我把它分为了几类:

数组的常用方法

修改数组:

        1.新增:

              push(): 在数组的末尾添加一个或多个元素,并返回新的数组长度。
let arr = [1,2,3,4,5]
let res = arr.push(6,7,8)
console.log(res) //8  表示arr的长度
console.log(arr) //[1,2,3,4,5,6,7,8] push方法直接操作原数组,会改变原数组
             unshift(): 在数组的开头添加一个或多个元素,并返回新的数组长度。
let arr = [3,4,5]
let res = arr.unshift(1,2)
console.log(res) //5  表示arr的长度
console.log(arr) //[1,2,3,4,5] push方法直接操作原数组,会改变原数组

        2.移除(删除):

                pop(): 移除数组的最后一个元素,并返回该元素的值。
let arr = [1,2,3]
let res = arr.pop()
console.log(res) //3  pop方法会返回我们删除的元素
console.log(arr) //[1,2] pop方法直接操作原数组,会改变原数组
                shift():移除数组的第一个元素,并返回该元素的值。
let arr = [1,2,3]
let res = arr.unshift()
console.log(res) //1  unshift方法会返回我们删除的元素
console.log(arr) //[2,3] unshift方法直接操作原数组,会改变原数组
                splice(): 删除数组中的指定元素,使用splice()会影响到原数组,会将指定元素从原数组中删除,同时splice方法还可以新增、替换。

                splice()的参数:第一个:表示开始位置的索引 、第二个:表示删除的数量、 第三个及以后.. :可以传递一些新的元素,这些元素将会自动插入到开始位置索引前边

let arr = [1,2,3,4,5]

// 添加
let res = arr.splice(0,0,0); // [] 如果删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组
console.log(arr); //[0,1,2,3,4,5]

// 修改
let res = arr.splice(0,1,23);//  [1]
console.log(arr); //[23,2,3,4,5]

// 删除
let res = arr.splice(0,1);// [1]
console.log(arr);  //[2,3,4,5] 

我们在开发中需要根据实际的情况选择使用哪种方法进行新增或则删除

访问数组元素

        1.通过索引访问数组元素。
let arr = [1,2,3,4,5]
console.log(arr[0]) //1
        2.slice(start, end):返回一个新数组,包含原数组中从 索引start到 end(不包括 end)的元素。如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取
let arr= [1,2, 3, 4, 5];
let myBest = arr.slice(1,2); 
console.log(myBest ) // [2]
let myBest = arr.slice(-3,-1); // 截取倒数第三个(包含)到倒数第一个(不包含)的两个元素
console.log(myBest ) // [3,4]
let myBest = arr.slice(-3);  // 截取最后三个元素
console.log(myBest) //[3, 4, 5]
        3.indexOf()方法用于查找数组中给定元素的第一个索引,如果存在即返回该元素的索引号,否则返回-1。

 const arr = [1, 2, 3, 2]
    console.log(arr.indexOf(2)); // 1
         4.lastIndexOf()方法用于查找数组中给定元素的最后一个索引,如果存在即返回该元素的索引号,否则返回-1。
const arr = [1, 2, 1]
    console.log(arr.lastIndexOf(1)); // 2
        5.findIndex()用于判断一个数组中是否存在某个元素符合条件,符合则返回数组中的该元素的索引,不符合则返回-1。
let arr = [1, 2, 3]
let i = arr.findIndex(function (item) {
      return item == 3
    })
    console.log(i); // 2

 数组翻转、排序

         1.reverse()翻转数组,返回新的数组
let arr = [1, 2, 3]
newArr = arr.reverse()
console.log(newArr); // [3, 2, 1]
        2.sort()数组排序,类似冒泡排序的效果,返回值为一个新的数组。
let arr = [3, 1, 2]
let newArr = arr.sort(function (a, b) {
      return a - b
    })
console.log(newArr); //[1, 2, 3]

遍历数组

        1.forEach(callback): 对数组的每个元素执行提供的回调函数
let arr= [1,2, 3, 4, 5];
        arr.forEach(function(item,index){
            console.log(item); //每一项
            console.log(index);//每项对应的索引
        })
        2.map(callback): 创建一个新数组,其结果是原数组中每个元素调用回调函数的返回值。
 
// 被遍历数组.filter(function(当前数组元素,当前数组元素索引(可省略)) {return 处理内容(例:item+10)})
    const arr = [1, 2, 3, 4, 5]
    arr1 = arr.map(item => item * 10)
    console.log(arr1); // [10, 20, 30, 40, 50]

过滤、查找、合并

        1.filter(callback): 创建一个新数组(不会影响原数组),其中包含通过指定函数实现的测试的所有元素。如果没有符合条件的,返回空数组。

被遍历数组.filter(function(当前数组元素,当前数组元素索引(可省略)) {return 筛选条件})

let arr = [1, 2, 3, 4, 5]
let newArr= arr.filter(item => item >= 2)
console.log(newArr); //[2, 3, 4, 5]
        2.find(callback): 返回数组中通过测试提供的函数的第一个元素的值。arr.find(function (item) {return item == '查找条件'})
let arr = [1, 2, 3, 4]
let newArr= arr.find(item => item > 3)
console.log(newArr); // 4
        3.every()方法用于检测数组所有元素是否都符合指定条件,如果都符合返回 true ,否则返回false。 数组.every(function (item) {return 指定条件(例:item >= 20)}) // true或false

    let arr = [1, 2, 3, 4]
    let newArr = arr.every(item => item > 2)
    console.log(newArr); //false
        4.some()方法用于检测数组中的元素是否满足指定条件,只要有一个元素满足条件返回 true ,否则返回false. 数组.some(function (item) {return 指定条件(例:item >= 20)}) // true或false

    let arr = [1, 2, 3, 4]
    let newArr= arr.some(item => item > 3)
    console.log(newArr); // true
        5.concat()方法用于合并两个数组,返回生成新数组,利用展开运算符也可达到合并数组的效果
const arr1 = [1, 2, 3]
const arr2 = [4, 5]
console.log(arr1.concat(arr2)); // [1, 2, 3, 4, 5]

伪数组转换真数组

数组的静态方法Array.from(),可用于把伪数组转换为真数组。

let arr= [1,2, 3, 4, 5];
console.log(new Set(arr)); //Set(5) {1, 2, 3, 4, 5}
let newArr = Array.from(new Set(arr))
console.log(newArr); //(5) [1, 2, 3, 4, 5]

数组转字符串

        1.toString()方法用于把数组转换成字符串,逗号分割每一项,返回值为一个字符串。
const arr = [1, 2, 3]
    console.log(arr.toString()); // 1,2,3
         2.join(‘分隔符’)用于把数组的所有元素转换为一个字符串,join方法如果不传入参数,则默认按照‘,’拼接元素,返回值为一个字符串。
const arr = [1, 2, 3]
    console.log(arr.join('-')); // 1-2-3

求累计值(求和)

   reduce(callback,initialValue) 方法对数组中的每个元素按序执行一个提供的 reducer 函数,每一次运行 reducer 会将先前元素的计算结果作为参数传入,最后将其结果汇总为单个返回值。第一次执行回调函数时,不存在“上一次的计算结果”。如果需要回调函数从数组索引为 0 的元素开始执行,则需要传递初始值。否则,数组索引为 0 的元素将被用作初始值,迭代器将从第二个元素开始执行(即从索引为 1 而不是 0 的位置开始)

参数一:callback(accumulator, currentValue,currentValue ,array)

        accumulator:上一次调用 callback 的结果。在第一次调用时,如果指定了 initialValue 则为指定的值,否则为 array[0] 的值

        currentValue:当前元素的值。在第一次调用时,如果指定了 initialValue,则为 array[0] 的值,否则为 array[1]

        currentValue在数组中的索引位置。在第一次调用时,如果指定了 initialValue 则为 0,否则为 1

   array:调用了 reduce() 的数组本身

参数二:initialValue :第一次调用回调时初始化 accumulator 的值。

         如果指定了 initialValue,则 callback 从数组中的第一个值作为 currentValue 开始执行。如果没有指定 initialValue,则 accumulator 初始化为数组中的第一个值,并且 callback 从数组中的第二个值作为 currentValue 开始执行。在这种情况下,如果数组为空(没有第一个值可以作为 accumulator 返回),则会抛出错误。

const array1 = [1, 2, 3, 4];
const initialValue = 0;
const sumWithInitial = array1.reduce(
  (accumulator, currentValue) => accumulator + currentValue,
  initialValue,
);

console.log(sumWithInitial); //10

        像 reduce() 这样的递归函数可能非常强大,但有时可能很难理解,特别是对于缺乏经验的 JavaScript 开发人员。如果使用其他数组方法可以使代码更清晰,则开发人员必须权衡代码可读性与使用 reduce() 带来的好处。如果 reduce() 确实是最佳选择,应该通过良好的文档和语义化的变量命名来提高代码的可读性

        总体而言,选择使用哪些方法还是取决于具体的需求。通常情况下,数组的方法中有些是可以互换使用,但在一些特殊情境中还是要根据具体的需求来进行选择使用。

总结:

面试官: 数组的常用方法有哪些?

我们可以这样回答:

        数组的方法有很多种,我们在开发中常用有以下这些,我把它分为了几类:

修改数组:

        1.新增:

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

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

        2.移除:

                pop(): 移除数组的最后一个元素,并返回该元素的值。

                shift():移除数组的第一个元素,并返回该元素的值。

                splice(): 删除数组中的指定元素,使用splice()会影响到原数组,会将指定元素从原数组中删除。splice()的参数:第一个:表示开始位置的索引 、第二个:表示删除的数量、 第三个及以后.. :可以传递一些新的元素,这些元素将会自动插入到开始位置索引前边。我们在开发中需要根据实际的情况选择使用哪种方法进行新增或则删除

访问数组元素

        1.通过索引访问数组元素。

        2.slice(start, end):返回一个新数组,包含原数组中从 索引start到 end(不包括 end)的元素。

遍历数组

        1.forEach(callback): 对数组的每个元素执行提供的回调函数

        2.map(callback): 创建一个新数组,其结果是原数组中每个元素调用回调函数的返回值。

过滤和查找

        1.filter(callback): 创建一个新数组,其中包含通过指定函数实现的测试的所有元素。

        2.find(callback): 返回数组中通过测试提供的函数的第一个元素的值。

        这些只是数组方法的一部分,JavaScript 数组还有很多其他方法可供使用。这些方法在不同的情境中发挥作用,可以根据实际需求选择合适的方法。比如我们可能需要拼接数组可以使用concat() 连接两个或多个数组(不会影响原数组),可以使用 join() 把数组转字符串,使用reverse() 反转数组,使用sort() 数组进行排序,使用reduce()方法进行求和操作等等。总体而言,选择使用哪些方法还是取决于具体的需求。通常情况下,数组的方法中有些是可以互换使用,比如使用 reduce() 来替代 .filter().map()方法,但在一些特殊情境中还是要根据具体的需求来进行选择使用。

  • 36
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C、C++语言是IT行业的主流编程语言,也是很多程序员必备的软件基本功,是软件开发行业招聘考查的重点。本书以流行的面试题讲解为主要内容,介绍了C、C++语言基本概念,包括保留字、字符串、指针和引用、结构体、库函数等各个方面的基础知识,介绍了面向对象编程基本概念,包括如何实现继承、多态和封装等。还介绍了排序算法及数据结构的实现,包括链表、堆栈、队列和树。此外,本书开始用两章篇幅详细介绍了中英文面试的注意事项、常见问题及程序员的职业规划等软件工程师的常识。最后四章详细讲解了现在流行的智力测试题。 第一篇 求职 第1章 应聘求职 1.1 企业与人才 1.1.1 企业需要什么样的人才 1.1.2 如何成为企业需要的人才 1.2 做好面试的准备 1.2.1 面试衣着 1.2.2 简历 1.3 面试 1.3.1 面试注意事项 1.3.2 面试问题分析 问题一:“请自我介绍一下。” 问题二:“谈谈你的家庭情况。” 问题三:“你有什么业余爱好?” 问题四:“你最崇拜谁?” 问题五:“谈谈你的缺点。” 问题六:“谈一谈你的一次失败经历。” 问题七:“你为什么选择我们公司?” 问题八:“对这项工作,你可预见到哪些困难?” 问题九:“如果我们录用你,你将怎样开展工作?” 问题十:“与上级意见不一致,你将怎么办?” 问题十一:“我们为什么要录用你?” 问题十二:“你能为我们做什么?” 问题十三:“你是应届毕业生,缺乏经验,如何能胜任这项工作?” 问题十四:“你希望与什么样的上级共事?” 问题十五:“你在前一家公司的离职原因是什么?” 1.4 为明天做好计划 第2章 英文面试 2.1 英文电话面试 2.1.1 英文电话面试注意事项 2.1.2 英文电话面试常见   问题 问题一:When will you graduate? 问题二:How do you normally handle criticism? 问题三:Why should we hire you? 问题四:Please tell me something unreflected at your resume/about yourself/ your experience/your activities. 2.1.3 英文电话面试常用词汇 2.2 英文面试 2.2.1 英文简历 2.2.2 英文面试流程 2.2.3 英文面试注意事项 2.2.4 英文面试常见问题 问题一:What is your strongest trait? 问题二:How would your friends or colleagues describe you? 问题三:What personality traits do you admire? 问题四:What leadership qualities did you develop as an administrative personnel? 问题五:How do you normally handle criticism? 问题六:What do you find frustrating in a work situation? 问题七:How do you handle your failure? 问题八:What kinds of people do you like to work with? 2.2.5 英文面试常用词汇 2.3 计算机专业英语面试常用词汇 第二篇 C/C++面试题 第3章 C/C++程序基础 3.1 基本概念 面试题1:什么是C语言语句 面试题2:变量的声明和定义有什么区别 面试题3:下列字符中,哪些不是C语言关键字 面试题4:下列变量定义中,哪些是合法的 面试题5:如何以最简单的方式让电脑蜂鸣器发出声音 3.2 编程规范 面试题6:谈谈你对编程规范的理解或认识 面试题7:函数、变量等命名都有哪些规则 面试题8:写出bool、int、float、指针变量与“零值”比较的if语句 3.3 数据类型 面试题9:写出代码的输出结果 面试题10:C语言中不合法的整型常数 面试题11:short i = 0; i = i + 1L;这两句有错吗 面试题12:char x[] = {"abcd"}和 char y[] = {'a','b','c','d'} 有不同吗 面试题13:char型数据在内存中的存储形式 3.4 运算符 面试题14:请写出下列代码的输出内容 面试题15:运算符的优先级问题 面试题16:&&和&,||和|有什么区别 面试题17:什么是左值,什么是右值 面试题18:请写出程序的运行结果 面试题19:sizeof和strlen的区别 3.5 结构体 面试题20:结构体是什么样的数据类型 面试题21:结构体可以直接赋值吗 面试题22:组织WAV文件头,并解析WAV格式的各项信息 面试题23:计算学生不及格的人数打印他们的性别、姓名和成绩 面试题24:结构体内存对齐问题 3.6 C和C++的区别 面试题25:关键字static在C和C++中的区别 面试题26:C语言的结构体和C++的有什么区别 面试题27:C中的malloc和C++中的new有什么区别 面试题28:C++的引用和C语言的指针有什么区别 第4章 预处理、保留字 4.1 预处理 面试题1:简述#ifdef、#else、#endif和#ifndef的作用 面试题2:宏定义和函数 面试题3:用#define声明一个常数 面试题4:写一个“标准”宏MIN 面试题5:typedef和define有什么区别 面试题6:#define CHAR char*和typedef char* CHAR各有什么优劣 面试题7:谈谈你对typedef的认识 4.2 const(常量) 面试题8:关键字const是什么 面试题9:说明以下a声明的含义 面试题10:const、define定义常量的区别 4.3 static(静态)和extern 面试题11:static有什么作用 面试题12:extern有什么作用 面试题13:简述变量存储类型 4.4 volatile 面试题14:volatile有什么作用 面试题15:一个参数可以既是const又是volatile吗 面试题16:一个指针可以是volatile吗 第5章 引用和指针 5.1 引用 面试题1:什么是引用 面试题2:常引用有什么作用 面试题3:流操作符重载为什么返回引用 5.2 指针 面试题4:说明以下声明的含义 面试题5:简述指针常量与常量指针区别 面试题6:写出以下代码的输出结果 面试题7:找出代码的错误 5.3 指针和数组 面试题8:写出代码的输出结果 面试题9:请问这段程序有问题吗 面试题10:a和&a有什么区别 面试题11:请问代码有什么问题 面试题12:数组名和指针的区别 5.4 函数指针 面试题13:请解析(*(void (*)())0)()的含义 面试题14:指出程序的错误 5.5 “野指针” 面试题15:如何避免“野指针” 面试题16:程序是否正确 面试题17:指出程序的错误 5.6 动态内存 面试题18:简述C、C++程序编译的内存分配情况 面试题19:以下四段代码中哪段没有错误 第6章 字符串 6.1 数字字符串 面试题1:编码实现数字转化为字符串 面试题2:编码实现字符串转化为数字 6.2 字符串函数 面试题3:编写一个标准strcpy函数 面试题4:简述strcpy、sprintf与memcpy的区别 6.3 字符串与数组 面试题5:找出程序的错误之处 面试题6:判断程序会出现什么问题 第7章 嵌入式编程 面试题1:编码实现某一变量某位清或置 面试题2:用C编写一个死循环程序 面试题3:用变量a给出下面的定义 面试题4:设置地址为0x67a9的整型变量的值为0xaa66 面试题5:评论下面这个中断函数 面试题6:评价一个代码片段 第8章 面向对象 8.1 面向对象的基本概念 面试题1:谈谈你对面向对象的认识 面试题2:面向对象的三大特征 面试题3:面向过程和面向对象有什么区别 8.2 类的成员变量和成员函数 面试题4:简述类public、protected、private的作用 面试题5:写出代码的打印结果 面试题6:写出程序的打印结果 面试题7:C++的空类有哪些成员函数 8.3 构造函数和析构函数 面试题8:构造函数能否为虚函数 面试题9:简述子类与父类的析构、构造函数的调用顺序 面试题10:编写类String 的构造函数、析构函数和赋值函数 8.4 拷贝构造函数 面试题11:谈谈对拷贝构造函数和赋值运算符的认识 面试题12:写出当定义#define _INMAIN 0和不定义时代码打印结果 第9章 继承与多态 9.1 继承 面试题1:指出程序的错误 面试题2:用C++设计一个不能被继承的类 9.2 虚函数和纯虚函数 面试题3:下面说法中正确的是哪个 面试题4:写出程序的打印结果 面试题5:访问基类的私有虚函数 9.3 多态 面试题6:简述类成员函数的重写、重载和隐藏的区别 面试题7:简述多态实现的原理 第10章 数据结构 10.1 链表 面试题1:链表和数组有什么区别 面试题2:寻找单链表中间结点 面试题3:怎样把一个单链表反序 10.2 单循环链表 面试题4:根据需求建立一个单向循环链表 面试题5:检测一个较大的单向链表是否带环 10.3 双向链表 面试题6:按要求构造一个双向链表 面试题7:编程实现双链表插入新结点 面试题8:编程实现双链表删除指定结点 10.4 栈和队列 面试题9:简述队列和栈的异同 面试题10:建立一个链式栈 面试题11:建立一个链式队列 面试题12:能否用两个栈实现一个队列的功能 10.5 二叉树 面试题13:建立一个二叉树 面试题14:计算一棵二叉树的深度 面试题15:在二元树中找出和为某一值的所有路径 第11章 排序 11.1 插入排序 面试题1:编码实现直接插入排序 面试题2:编码实现希尔(Shell)排序 11.2 交换排序 面试题3:编码实现冒泡排序 面试题4:编码实现快速排序 11.3 选择排序 面试题5:编码实现直接选择排序 面试题6:编程实现堆排序 11.4 基数排序 面试题7:编程实现基数排序 第三篇 智力测试 第12章 基本方法 面试题1:斯密斯夫妇握手问题 面试题2:5个强盗分100颗宝石 面试题3:分牛 面试题4:谁在说谎 面试题5:是亏了还是赚了 面试题6:小虫分裂问题 面试题7:飞机绕地球环行问题 第13章 数学能力 面试题1:用一笔画出经过9个点的4条直线 面试题2:在9个点上画10条线 面试题3:100盏灯 面试题4:找出不同的球 面试题5:时针、分针和秒针重合问题 面试题6:可以喝多少瓶汽水 面试题7:怎样拿到第100号球 面试题8:烧绳计时 面试题9:分金条 面试题10:至少有多少人及格 面试题11:如何取3升水 面试题12:将16升水平均分给四个人 面试题13:如何将140克的盐分成50、90克各一份 面试题14:蜗牛几天能爬到井口 面试题15:100美元的差额到哪里去了 面试题16:点击鼠标比赛 面试题17:小猴最多能运回多少根香蕉 面试题18:算出小张买了几瓶啤酒、几瓶饮料 面试题19:牧场有多少匹马 面试题20:找出不同的苹果 面试题21:如何穿越沙漠 第14章 推理能力 面试题1:怎么少了100元 面试题2:村里有多少条病狗 面试题3:他们都在做什么 面试题4:躯体与灵魂 面试题5:小明一家能否安全过桥 面试题6:过河   问题 面试题7:这是张什么牌 面试题8:说谎岛上的两个部落 面试题9:谁是特尔斐城的预言家 面试题10:哪个政党获胜 面试题11:每个护士星期几休息 面试题12:每个人系的圆牌都是什么颜色的 面试题13:帽子问题 面试题14:谁是凶手 面试题15:他们的头发是什么颜色的 面试题16:谁是漂亮的青年 面试题17:哪个袋子里有金子 面试题18:他们星期几在说谎 面试题19:剩下的是什么牌 面试题20:老李的儿子们是做什么的 面试题21:史密斯家的门牌号 面试题22:尤克利地区的电话 面试题23:乡村庙会的15点游戏 面试题24:各家的孩子得了第几名 面试题25:经理应该带谁出差 面试题26:法官的判决 面试题27:张老师的生日是哪一天 面试题28:谁是M小姐的情人 面试题29:他们分别是哪国人 面试题30:他们分别是做什么的 面试题31:他们都会说什么语言 面试题32:怎么把马匹从甲村拉到乙村 面试题33:谁打碎了花瓶 面试题34:分机票 面试题35:石头有多重 面试题36:该释放谁 面试题37:谁打碎的玻璃 面试题38:谁是最优秀的医生 面试题39:今天星期几 面试题40:五个人进行汽车竞赛 面试题41:下一行是什么 面试题42:三筐水果各是什么 面试题43:最后剩下的是谁 第15章 反应能力 面试题1:下水道的井盖 面试题2:30秒答题 面试题3:一分钟答题 面试题4:镜子中的你 面试题5:埃及古币 面试题6:投硬币 面试题7:他在撒谎吗 面试题8:制造零件 面试题9:不喜欢正方形窗户的人 面试题10:孩子租房 面试题11:重男轻女的国度 面试题12:分遗产 面试题13:栽果树 面试题14:聪明的农民 面试题15:聪明的死刑犯 面试题16:幼儿园中奇怪的人 面试题17:奇怪的城镇 面试题18:聪明的商人 面试题19:渡船过河 面试题20:愚蠢的长工 面试题21:红球和白球 面试题22:小明坐在了哪里 面试题23:乌龟赛跑 面试题24:老师的爱恋 面试题25:爬楼梯 面试题26:马丁先生的约会 面试题27:巧入房间 面试题28:管子中的球 面试题29:女儿的错
在前端面试中,经常会被问到关于JavaScript数组方法。下面是一些常见的数组方法: 1. `push()`:向数组末尾添加一个或多个元素,并返回新数组的长度。 2. `pop()`:删除并返回数组的最后一个元素。 3. `shift()`:删除并返回数组的第一个元素。 4. `unshift()`:向数组的开头添加一个或多个元素,并返回新数组的长度。 5. `concat()`:将两个或多个数组合并成一个新数组。 6. `slice()`:返回指定索引范围内的元素,不会修改原数组。 7. `splice()`:从指定位置删除或替换元素,并返回被删除的元素。 8. `join()`:将数组中的所有元素以指定的分隔符连接成一个字符串。 9. `indexOf()`:返回指定元素在数组中首次出现的索引,如果不存在则返回-1。 10. `lastIndexOf()`:返回指定元素在数组中最后一次出现的索引,如果不存在则返回-1。 11. `forEach()`:对数组中的每个元素执行指定的操作。 12. `map()`:对数组中的每个元素执行指定的操作,并返回一个新数组。 13. `filter()`:根据指定条件过滤数组中的元素,并返回一个新数组。 14. `reduce()`:对数组中的所有元素执行指定的累加器函数,返回一个累计值。 15. `sort()`:对数组进行排序,默认按照Unicode编码顺序进行排序。 16. `reverse()`:颠倒数组中元素的顺序。 17. `find()`:返回数组中满足指定条件的第一个元素。 18. `findIndex()`:返回数组中满足指定条件的第一个元素的索引。 19. `some()`:检测数组中是否至少有一个元素满足指定条件。 20. `every()`:检测数组中的所有元素是否都满足指定条件。 以上只是一些常见的数组方法,还有许多其他方法可以用于对数组进行操作和处理。在面试中,了解这些常用方法并能够灵活运用是很重要的。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

双头雄狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值