17种面试前你需要知道的JavaScript 数组方法

本文的重点是强调我选择在 JavaScript 中进行评估的主要原因之一:原生数组方法。在本文中,我将创建一个快速备忘录,以帮助您和我在未来的测试中取得好成绩。

提示:如果您正在准备编码面试,我真的鼓励您在 CodeWars 练习您的开发技能。那里的提示很容易成为我评估的提示之一。这非常相似。

说了这么多,让我们开始吧。

1、array.concat

let array1 = [1,2];

let array2 = [3,4];

let array3 = [5,6,7];

let array4 = array1.concat(array2, array3)

console.log(array4)// [1,2,3,4,5,6,7]将两个或多个数组连接成一个数组。

您可以在 concat 方法中拥有无限数量的参数。

还可以这样做:

let array1 = [1,2];

let array2 = [3,4];

let array3 = [5,6,7];

let array4 = [...array1, ...array2]

console.log(array4);

2、array.length

var name = "Kyle";

console.log(name.length) // 4

var array = [1,2,3,4,5];

console.log(array.length); //5用于获取数组或字符串的长度

3、array.join

let students = ["Anthony", "Beth", "Cersi" , "Dario", "Elizabeth", "Farrah"];

let welcomeMessage = "Hello " + students.join(" and ")

console.log(welcomeMessage);

/* PRINTS

Hello Anthony and Beth and Cersi and Dario and Elizabeth and Farrah

*/将数组的元素连接在一起并将其转换为字符串

join方法的一个参数(分隔符)

例如,我们使用“和”来连接数组中的所有元素。你可以使用空格“”或逗号“,”或任何你想要的。

4、array.pop

let students = ["Anthony", "Beth", "Cersi" , "Dario", "Elizabeth", "Farrah"];

let removed = students.pop();

console.log(removed); //Farrah

console.log(students); //["Anthony", "Beth", "Cersi" , "Dario", "Elizabeth"]

students.pop();

console.log(students); //["Anthony", "Beth", "Cersi" , "Dario"]移除数组最后的元素

该方法返回被移除的元素,这是可选的,您也可以单独使用 students.pop() 。

5、array.push

let students = ["Anthony", "Beth", "Cersi" , "Dario", "Elizabeth", "Farrah"];

students.push("George");

console.log(students);

/* Prints: ["Anthony", "Beth", "Cersi" , "Dario", "Elizabeth", "Farrah", "George]

*/在数组末尾添加元素

6、array.shift

let students = ["Anthony", "Beth", "Cersi" , "Dario", "Elizabeth", "Farrah"];

students.shift();

console.log(students);

/*PRINTS:

["Beth", "Cersi" , "Dario", "Elizabeth", "Farrah"]

*/删除数组最开始的元素。

7、array.unshift

let students = ["Anthony", "Beth", "Cersi" , "Dario", "Elizabeth", "Farrah"];

students.unshift("Zander");

console.log(students);

/*PRINTS:

["Zander", "Anthony", "Beth", "Cersi" , "Dario", "Elizabeth", "Farrah"]

*/

8、array.slice

var name = "Jennifer Aniston"

var firstName = name.slice(0,8);

console.log(firstName); //Jennifer

var array = [1,2,3,4,5,6,7];

console.log(array.slice(0,3)); //[1,2,3]

var array = ["Index 1", "Index 2", "Index 3", "Index 4"];

console.log(array.slice(1)); //[ 'Index 2', 'Index 3', 'Index 4' ]返回从开始索引到结束索引的元素(加一)不改变原始数组切片方法的一个参数

提取从给定索引开始直到数组末尾的元素。切片方法的两个参数:(开始索引,结束索引+1)

提取从给定索引(第一个参数)开始到给定索引(第二个参数)结束的元素由于我们要提取“Jennifer”,我们从索引 0 开始。Jennifer 的最后一个字母在索引 7 处。所以第二个参数将是 8

9、array.splice

let array1 = [1,2,3,6,7,6,7,8,9];

array1.splice(3, 6)

console.log(array1); //[ 1, 2, 3 ]用于添加、删除或替换数组中的元素

拼接方法的两个参数

第一个参数是要添加、删除或替换元素的索引第二个参数是要从第一个参数中提到的索引开始的数组中删除的元素数例如,我们想在第一个参数中定义的索引 3 处开始添加、删除或替换数组中的元素。(请记住,数组使用从零开始的索引)。我们将删除第二个参数中定义的 6 个元素。let array1 = [1,2,3,6,7,6,7,8,9];

array1.splice(3, 2, 4, 5 )

console.log(array1); // [1,2,3,4,5,6,7,8,9]拼接方法的三个或更多参数

第一个参数是要添加、删除或替换元素的索引第二个参数是要从第一个参数中提到的索引开始的数组中删除的元素数剩余的参数(可以无限多)将从第一个参数中提到的索引开始插入到数组中例如,我们想在第一个参数中定义的索引 3 处开始添加、删除或替换数组中的元素。(请记住,数组使用从零开始的索引)。我们将删除第二个参数中定义的 2 个元素。这将使数组位于 [1,2,3,6,7,8,9]。然后,在第一个参数中定义的索引 3 处,我们将插入由其余参数指定的值。在这种情况下,我们有第三个和第四个参数。我们在索引 3 处插入这两个。显然,如果我们有第三、第四、第五、、、、、、、、和第二十个参数,我们将插入所有这些参数。

10、array.reverse

let array1 = [1,2,3,6,7,6,7,8,9];

console.log(array1.reverse()); // [ 9, 8, 7, 6, 7, 6, 3, 2, 1 ]反转数组的顺序

11、array.sort()

//升序排序

let array1 = [5, 1, 8, 3];

array1.sort((a, b) => a-b);

console.log(array1) //[ 1, 3, 5, 8 ]

//递减数字排序

let array1 = [5, 1, 8, 3];

array1.sort((a, b) => b-a);

console.log(array1) //[ 8, 5, 3, 1 ]

//递减数字排序

let array1 = [5, 1, 8, 3];

array1.sort((a, b) => a-b).reverse();

console.log(array1) //[ 8, 5, 3, 1 ]

//升序字母排序

let array1 = ["apples", "carrots", "zendaya", "tapioca"];

array1.sort();

console.log(array1)

//降序字母排序

let array1 = ["apples", "carrots", "zendaya", "tapioca"];

array1.sort().reverse();

console.log(array1)

字符串方法

12、string.concat

let name = "Kyle";

let age = 21;

let city = "Los Angeles"

let sentence = name.concat(" is " , age , " years old and lives in ", city);

console.log(sentence);将两个或多个字符串连接成一个字符串。

您可以在 concat 方法中拥有无限数量的参数。您也可以用 + 代替 ,它分隔每个字符串/变量

13、string.indexOf

let sentence = "Publish today on Medium";

console.log(sentence.indexOf("today")) //8查找字符串第一次出现的索引

如果未找到字符串,则返回 -1

14、string.lastIndexOf

let sentence = "a dog went to a dog park on a tuesday night. ";

console.log(sentence.lastIndexOf("a ")); //28查找字符串最后一次出现的索引

如果未找到字符串,则返回 -1

15、string.split

let name = "Kyle DeGuzman";

let nameArray = name.split(" ");

console.log(nameArray) //['Kyle', 'DeGuzman']

let alphabet = "abcdefghijklmnopqrstuv";

let alphabetArray = alphabet.split("");

console.log(alphabetArray) //['a','b','c','d','e','f','g','h'....]

let favoriteThings = "Raindrops on Roses, Whiskers on Kittens, Bright Copper Kettles, Warm Woolen Mittens, Brown Paper Packages Tied Up With String";

let favoriteThingsArray = favoriteThings.split(",");

console.log(favoriteThingsArray)将字符串转换为数组

拆分方法的一个参数(分隔符)

分隔符定义了在字符串中进行切割的位置例如,第一个分割在空间上进行切割。因此,结果在每个空间都被拆分。例如,第二次拆分在“”处进行了剪切,基本上在每个字符之间。例如,只要有逗号,第三个拆分就会进行切割。

16、string.toLowerCase()

let name = "kYle";

let name = name.toLowerCase();

console.log(name); //kyle

let string = ("triumph").toLowerCase();

console.log(string); //triumph将字符串中的所有字母转换为小写

如果您正在测试用户输入的字符串,这非常棒。

例如:

if (input == "apple"){

...

}所以如果用户输入Apple、aApple、appLE等,它们将是无效的。

if (input.toLowerCase() == "apple"){

}这是一个更好的方法

17、string.toUpperCase()

let name = "kYle";

let name = name.toUpperCase();

console.log(name); //KYLE

let string = ("triumph").toUpperCase();

console.log(string); //TRIUMPH将字符串中的所有字母转换为大写

18、string.trim

let firstName = "Kylennnn";

let lastName = "Deguzman ";

console.log(firstName + lastName);

console.log(firstName.trim() + lastName).从字符串的左侧和右侧删除空格。

总结

以上就是我今天整理的18个关于JavaScript数组的方法,希望你能从这个清单列表中学习到新知识,如果你觉得我今天的内容对你有帮助的话,请记得点赞我,关注我,并将它分享给你身边的朋友,也许能够帮助到他。

当然,这个清单列表也只是其中的一部分而已,如果你还有要补充的知识内容,欢迎你在留言区给我留言。

最后,感谢你的阅读,祝编程愉快!

来源: web前端开发

原文地址:https://www.toutiao.com/article/7130126550321693223/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 目录 连接 连接池产生原因 连接池实现原理 小结 TEMPERANCE:Eat not to dullness;drink not to elevation.节制
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 一个优秀的工程师和一个普通的工程师的区别,不是满天飞的架构图,他的功底体现在所写的每一行代码上。-- 毕玄 1. 命名风格 【书摘】类名用 UpperCamelC
今天犯了个错:“接口变动,伤筋动骨,除非你确定只有你一个人在用”。哪怕只是throw了一个新的Exception。哈哈,这是我犯的错误。一、接口和抽象类类,即一个对象。先抽象类,就是抽象出类的基础部分,即抽象基类(抽象类)。官方定义让人费解,但是记忆方法是也不错的 —包含抽象方法的类叫做抽象类。接口
Writer :BYSocket(泥沙砖瓦浆木匠)微 博:BYSocket豆 瓣:BYSocketFaceBook:BYSocketTwitter :BYSocket一、引子文件,作为常见的数据源。关于操作文件的字节流就是 —FileInputStream&FileOutputStream。
作者:泥沙砖瓦浆木匠网站:http://blog.csdn.net/jeffli1993个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节。交流QQ群:【编程之美 365234583】http://qm.qq.com/cgi-bin/qm/qr?k=FhFAoaWwjP29_Aonqz
本文目录 线程与多线程 线程的运行与创建 线程的状态 1 线程与多线程 线程是什么? 线程(Thread)是一个对象(Object)。用来干什么?Java 线程(也称 JVM 线程)是 Java 进程内允许多个同时进行的任务。该进程内并发的任务成为线程(Thread),一个进程里至少一个线程。 Ja
Writer :BYSocket(泥沙砖瓦浆木匠)微 博:BYSocket豆 瓣:BYSocketFaceBook:BYSocketTwitter :BYSocket在面向对象编程中,编程人员应该在意“资源”。比如?1String hello = "hello"; 在代码中,我们
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 这是泥瓦匠的第103篇原创 《程序兵法:Java String 源码的排序算法(一)》 文章工程:* JDK 1.8* 工程名:algorithm-core-le
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 目录 一、父子类变量名相同会咋样? 有个小故事,今天群里面有个人问下面如图输出什么? 我回答:60。但这是错的,答案结果是 40 。我知错能改,然后说了下父子类变
作者:泥瓦匠 出处:https://www.bysocket.com/2021-10-26/mac-create-files-from-the-root-directory.html Mac 操作系统挺适合开发者进行写代码,最近碰到了一个问题,问题是如何在 macOS 根目录创建文件夹。不同的 ma
作者:李强强上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算。这一讲,泥瓦匠带你走进Java中的进制详解。一、引子在Java世界里,99%的工作都是处理这高层。那么二进制,字节码这些会在哪里用到呢?自问自答:在跨平台的时候,就凸显神功了。比如说文件读写,数据通信,还
1 线程中断 1.1 什么是线程中断? 线程中断是线程的标志位属性。而不是真正终止线程,和线程的状态无关。线程中断过程表示一个运行中的线程,通过其他线程调用了该线程的 方法,使得该线程中断标志位属性改变。 深入思考下,线程中断不是去中断了线程,恰恰是用来通知该线程应该被中断了。具体是一个标志位属性,
Writer:BYSocket(泥沙砖瓦浆木匠)微博:BYSocket豆瓣:BYSocketReprint it anywhere u want需求 项目在设计表的时候,要处理并发多的一些数据,类似订单号不能重复,要保持唯一。原本以为来个时间戳,精确到毫秒应该不错了。后来觉得是错了,测试环境下很多一
纯技术交流群 每日推荐 - 技术干货推送 跟着泥瓦匠,一起问答交流 扫一扫,我邀请你入群 纯技术交流群 每日推荐 - 技术干货推送 跟着泥瓦匠,一起问答交流 扫一扫,我邀请你入群 加微信:bysocket01
Writer:BYSocket(泥沙砖瓦浆木匠)微博:BYSocket豆瓣:BYSocketReprint it anywhere u want.文章Points:1、介绍RESTful架构风格2、Spring配置CXF3、三层初设计,实现WebService接口层4、撰写HTTPClient 客户
Writer :BYSocket(泥沙砖瓦浆木匠)什么是回调?今天傻傻地截了张图问了下,然后被陈大牛回答道“就一个回调…”。此时千万个草泥马飞奔而过(逃哈哈,看着源码,享受着这种回调在代码上的作用,真是美哉。不妨总结总结。一、什么是回调回调,回调。要先有调用,才有调用者和被调用者之间的回调。所以在百
Writer :BYSocket(泥沙砖瓦浆木匠)一、什么大小端?大小端在计算机业界,Endian表示数据在存储器中的存放顺序。百度百科如下叙述之:大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加
What is a programming language? Before introducing compilation and decompilation, let's briefly introduce the Programming Language. Programming la
Writer :BYSocket(泥沙砖瓦浆木匠)微 博:BYSocket豆 瓣:BYSocketFaceBook:BYSocketTwitter :BYSocket泥瓦匠喜欢Java,文章总是扯扯Java。 I/O 基础,就是二进制,也就是Bit。一、Bit与二进制什么是Bit(位)呢?位是CPU
Writer:BYSocket(泥沙砖瓦浆木匠)微博:BYSocket豆瓣:BYSocket一、前言 泥瓦匠最近被项目搞的天昏地暗。发现有些要给自己一些目标,关于技术的目标:专注很重要。专注Java 基础 + H5(学习) 其他操作系统,算法,数据结构当成课外书博览。有时候,就是那样你越是专注方面越