20个常见的JavaScript数组操作总结

20个常见的JavaScript数组操作总结

目录

声明数组

1. 常规方式

2. 简洁方式

3. 字面

Array 对象方法

1. forEach

2. map

3. concat

4. push

5. unshift

6. pop

7. shift

8. splice

9. slice

10. join

11. every

12. filter

13. indexOf

14. reduce

15. reverse

16. sort

17. toString

18. at

19. find

20. some

JavaScript中的Array对象与其他编程语言中的数组一样,是一组数据的集合。在JavaScript中,数组里面的数据可以是不同类型的,并具有用于执行数组常见操作的方法。

声明数组

有三种不同的声明方式

1. 常规方式 const hobbys = new Array() hobbys[0] = 'Basketball' hobbys[1] = 'Badminton' hobbys[2] = 'swimming' console.log(hobbys) // [ 'Basketball', 'Badminton', 'swimming' ] 2. 简洁方式 const hobbys = new Array('Basketball', 'Badminton','swimming') console.log(hobbys) // [ 'Basketball', 'Badminton', 'swimming' ] 3. 字面 const hobbys = ['Basketball','Badminton','swimming'] console.log(hobbys) // [ 'Basketball', 'Badminton', 'swimming' ] Array 对象方法 1. forEach

forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。没有返回值,本质上等同于 for 循环,对每一项执行 function 函数。不会改变原数组。

// currentValue:必需,当前元素 index:可选,当前元素的索引值 arr:可选,当前元素所属的数组对象。 array.forEach(function(currentValue, index, arr)) let array = ['a', 'b', 'c'] let func = (currentValue, index, arr) => { currentValue += 's' console.log('currentValue:' + currentValue + ' index:' + index + ' arr:' + arr) } array.forEach(func) console.log(array) // 控制台输出: // currentValue:as index:0 arr:a,b,c // currentValue:bs index:1 arr:a,b,c // currentValue:cs index:2 arr:a,b,c // [ 'a', 'b', 'c' ] 2. map

通过指定函数处理数组的每个元素,并返回处理后的数组。

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。方法按照原始数组元素顺序依次处理元素。不会改变原数组。

// currentValue:必须,当前元素的值 index:可选,当前元素的索引值 arr:可选,当前元素属于的数组对象 array.map(function(currentValue,index,arr)) let array = [1, 2, 3, 4, 5] let result = array.map((item) => { return item += 5 }) console.log(array) console.log(result) // [ 1, 2, 3, 4, 5 ] // [ 6, 7, 8, 9, 10 ] 3. concat

JavaScript中的 concat() 方法用来连接两个或更多的数组,并返回结果。

// array1, array2, ..., arrayN 必需,该参数可以是具体的值,也可以是数组对象,可以是任意多个 array1.concat(array2,array3,...,arrayN) const array1 = ['a', 'b', 'c'] const array2 = ['d', 'e', 'f'] const array3 = array1.concat(array2) console.log(array3) const array4 = array1.concat('123') console.log(array4) // [ 'a', 'b', 'c', 'd', 'e', 'f' ] // [ 'a', 'b', 'c', '123' ] 4. push

Javascript数组中的 push() 方法用来向数组的末尾添加一个或更多元素,并返回新的长度。

let fruits = ["Banana", "Orange", "Apple", "Mango"] let length = fruits.push("Kiwi") console.log(fruits) console.log(length) // [ 'Banana', 'Orange', 'Apple', 'Mango', 'Kiwi' ] // 5 5. unshift

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

let fruits = ["Banana", "Orange", "Apple", "Mango"] let length = fruits.unshift("Lemon", "Pineapple") console.log(fruits) console.log(length) // [ 'Lemon', 'Pineapple', 'Banana', 'Orange', 'Apple', 'Mango' ] // 6 6. pop

pop() 方法用于删除数组的最后一个元素并返回删除的元素。

let sites = ['Google', 'Runoob', 'Taobao', 'Zhihu', 'Baidu'] let result = sites.pop() console.log(sites) console.log(result) // [ 'Google', 'Runoob', 'Taobao', 'Zhihu' ] // Baidu 7. shift

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值

let fruits = ["Banana", "Orange", "Apple", "Mango"]; let result = fruits.shift() console.log(fruits) console.log(result) // [ 'Orange', 'Apple', 'Mango' ] // Banana 8. splice

splice() 方法用于添加或删除数组中的元素,并返回删除的元素数组

// 参数 Values: index: 必需,规定从何处添加/删除元素 // howmany: 可选,规定应该删除多少元素 必须是数字,但可以是 "0" // item1, ..., itemX 可选,要添加到数组的新元素 array.splice(index,howmany,item1,.....,itemX) let fruits = ["Banana", "Orange", "Apple", "Mango"] let result = fruits.splice(1, 2, "Lemon", "Kiwi") console.log(fruits) console.log(result) // [ 'Banana', 'Lemon', 'Kiwi', 'Mango' ] // [ 'Orange', 'Apple' ] 9. slice

slice() 方法可从已有的数组中返回选定的元素。也可提取字符串的某个部分,并以新的字符串返回被提取的部分。不会改变原数组。

// start: 可选,规定从何处开始选取 若为负值,表示从原数组中的倒数第几个元素开始提取 // end: 可选,规定从何处结束选取 如果没有指定该参数,那么切分的数组包含从start到数组结束的所有元素 array.slice(start, end) let fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"] let result1 = fruits.slice(1, 3) let result2 = fruits.slice(2) console.log(fruits) console.log(result1) console.log(result2) // [ 'Banana', 'Orange', 'Lemon', 'Apple', 'Mango' ] // [ 'Orange', 'Lemon' ] // [ 'Lemon', 'Apple', 'Mango' ] 10. join

join() 方法可将所有数组元素结合为一个字符串。它的行为类似 toString(),但是您还可以规定分隔符

// separator: 可选,指定要使用的分隔符 如果省略该参数,则使用逗号作为分隔符 array.join(separator) let fruits = ["Banana", "Orange", "Apple", "Mango"]; let energy1 = fruits.join(); let energy2 = fruits.join('-'); console.log(energy1) console.log(energy2) // Banana,Orange,Apple,Mango // Banana-Orange-Apple-Mango 11. every

every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。

array.every(function(currentValue,index,arr)) let ages = [32, 33, 16, 40] let nums = [32, 33, 19, 40] function checkAdult(age) { return age >= 18 } function checkNums(num) { return num >= 18 } // 16不满足大于18,故结果false let result1 = ages.every(checkAdult) // 每一项都满足条件,故结果true let result2 = nums.every(checkNums) console.log(result1) console.log(result2) // false // true 12. filter

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。不会改变原数组。

array.filter(function(currentValue,index,arr), thisValue) let ages = [32, 33, 16, 40]; function checkAdult(age) { return age >= 18; } let result = ages.filter(checkAdult) console.log(result) // [ 32, 33, 40 ] 13. indexOf

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。没有找到会返回-1

// searchvalue: 必需。规定需检索的字符串值。 // start: 可选的整数参数。规定在字符串中开始检索的位置。值:0~array.length-1 string.indexOf(searchvalue,start) let str = "Hello world, welcome to the universe."; // 输出w所在的下标索引13(空格也算),没有找到会返回-1 let n = str.indexOf("welcome"); console.log(n) console.log(str[n]) // 13 // w 14. reduce

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

array.reduce(function(total, currentValue, currentIndex, arr), initialValue) let numbers = [2, 3, 5, 6] function getSum(total, num) { return total + num } let result = numbers.reduce(getSum, 0) console.log(result) // 16 15. reverse

reverse() 方法用于颠倒数组中元素的顺序。会改变原数组,并返回改变顺序的数组。

let fruits = ["Banana", "Orange", "Apple", "Mango"] let resut = fruits.reverse() console.log(fruits) console.log(resut) // [ 'Mango', 'Apple', 'Orange', 'Banana' ] // [ 'Mango', 'Apple', 'Orange', 'Banana' ] 16. sort

sort() 方法用于对数组的元素进行排序。排序顺序可以是字母或数字,并按升序或降序。

// sortfunction: 可选。规定排序顺序。必须是函数。 array.sort(sortfunction) let fruits = ["Banana", "Orange", "Apple", "Mango"] let ages = [9, 3, 4, 5, 7, 10] // 升序 let agesFunAsc = function (ag1,ag2) { return ag1 - ag2 } // 降序 let agesFunDes= function (ag1,ag2) { return -(ag1 - ag2) } fruits.sort() ages.sort(agesFunAsc) console.log(fruits) console.log(ages) ages.sort(agesFunDes) console.log(ages) // [ 'Apple', 'Banana', 'Mango', 'Orange' ] // [ 3, 4, 5, 7, 9, 10 ] // [ 10, 9, 7, 5, 4, 3 ] 17. toString

toString() 方法用于把数字转换为字符串。

number.toString(radix) let num = 15 let n = num.toString() // 也可以使用不同的进制把一个数字转换为字符串 // 2进制 let b = num.toString(2); // 8进制 let c = num.toString(8); // 16进制 let d = num.toString(16); console.log(n) console.log(b) console.log(c) console.log(d) // 15 // 1111 // 17 // f 18. at

at()方法接受整数值并返回at索引的值,正整数和负整数皆可。负整数表示从数组的最后一项开始倒数。

array.at(index) let str = 'helso word' let item1 = str.at(2) let item2 = str.at(-1) console.log(item1) console.log(item2) // l // d 19. find

find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。

array.find(function(currentValue, index, arr),thisValue) let ages = [3, 10, 18, 20]; function checkAdult(age) { return age >= 18; } let value = ages.find(checkAdult) console.log(value) // 18 20. some

some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。

array.some(function(currentValue,index,arr),thisValue) let ages = [3, 10, 19, 20]; function checkAdult(age) { return age > 18; } let result = ages.some(checkAdult) console.log(result) // true

到此这篇关于20个常见的JavaScript数组操作总结的文章就介绍到这了,更多相关JavaScript数组操作内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读

    针灸科设置|针灸科常见操作

    针灸科设置|针灸科常见操作,,1. 针灸科常见操作⒈临床实践技能(临床实际本领)考核 ⑴基本操作:①中医四诊、针灸、推拿、拔罐等中医临床技术;

    三常见BIOS故障排除解决方案

    三常见BIOS故障排除解决方案,,笔记本电脑如何长时间出现黑屏为什么为什么如何删除和修改旧IBM笔记本电脑BIOS设置中的密码我想你会与这些

    笔记本电脑常见硬件故障分析

    笔记本电脑常见硬件故障分析,,1。电脑非电(功率指示灯不亮)笔记本电脑脑电现象的处理方法,可按以下顺序检测: (1)首先检查适配器是否正确连接

    XML引入的常见问题

    XML引入的常见问题,,作者:angelgavin来源:CSDN 一般问题 什么是XML 可扩展标记语言(XML)是一个基于Web的通用语言,它使开发人员能够从许多不

    vue项目一些常见问题

    vue项目一些常见问题,组件,样式,**样式污染问题**同样的样式不需要在每个组件都复制组件内单独的样式加外层class包裹。加scope。否则只是

    论竞技比赛结构中的十种常见误区

    论竞技比赛结构中的十种常见误区,,近年来,在中国电子竞技的发展得到了迅速的发展。虽然网络游戏市场正在进一步扩大,但我们也看到CS和魔兽争

    如何解决常见故障

    如何解决常见故障,,在使用笔记本电脑时,面对各种各样的故障,如果你不知道为什么,即使精通电脑的高手也一定头疼,无暇顾及一切。这里是一些最常

    常见卡故障开发卡故障检修

    常见卡故障开发卡故障检修,,编者按:学习计算机的失败的原因是复杂的,难以捉摸的,因为Windows操作系统的组件相对复杂,电脑一旦出现故障,对于普

    电脑主板常见故障有哪些

    电脑主板常见故障有哪些,主板,故障,常见,主板故障,电脑主板常见故障 人为故障:有些朋友,电脑操作方面的知识懂得较少,在操作时不注意操作规