返回顶部
首页 > 资讯 > 前端开发 > JavaScript >20个常见的JavaScript数组操作总结
  • 273
分享到

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

2024-04-02 19:04:59 273人浏览 泡泡鱼
摘要

目录声明数组1. 常规方式2. 简洁方式3. 字面Array 对象方法1. forEach2. map3. concat4. push5. unshift6. pop7. shift

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数组操作内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 20个常见的JavaScript数组操作总结

本文链接: https://lsjlt.com/news/167801.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 总结20个常见的JavaScript数组操作
    JavaScript中的Array对象与其他编程语言中的数组一样,是一组数据的集合。在JavaScript中,数组里面的数据可以是不同类型的,并具有用于执行数组常见操作的方法。声明数组有三种不同的声明方式1. 常规方式const hobby...
    99+
    2023-05-14
    前端
  • 20个常见的JavaScript数组操作总结
    目录声明数组1. 常规方式2. 简洁方式3. 字面Array 对象方法1. forEach2. map3. concat4. push5. unshift6. pop7. shift...
    99+
    2024-04-02
  • JavaScript数组操作总结
    目录1.定义2.数组的本质3.数组的length4. in5. for…in6.数组的空位7.类数组(伪数组)总结1.定义 数组是按次序依次排列的一组值 任何数据类型都...
    99+
    2022-11-13
    JavaScript数组 JS数组类型 JS数组操作
  • JavaScript操作数组的常用方法总结
    我们在日常开发过程中,使用到原生 JavaScript的时候,有时候会频繁的对数组进行操作,今天我把工作以来,经常用到的有关 JavaScript数组的方法总结一...
    99+
    2024-04-02
  • JavaScript中常用的数组操作方法总结
    目录前言数组基础遍历方法forfor offor in数组的基础操作方法push:尾部追加元素pop:尾部移出元素unshift:头部追加元素shift:头部移出元素splice:删...
    99+
    2024-04-02
  • JavaScript数组常见操作技巧
    目录一、创建数组二、判断是不是数组三、类数组和数组的转换四、数组去重1.利用 set 去重2.双重循环 + splice3.新建数组 + includes4.reduce + inc...
    99+
    2024-04-02
  • JavaScript数组常见操作技巧(二)
    目录一、出数组中的重复元素或非重复元素二、数组扁平化 / 数组降维二维数组:双重循环二维数组:循环 + concat二维数组:reduce + concat二维数组:展开 / app...
    99+
    2024-04-02
  • JavaScript数组常见操作有哪些
    这篇文章主要为大家展示了“JavaScript数组常见操作有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript数组常见操作有哪些”这篇文章吧...
    99+
    2024-04-02
  • Python最常用的20个包总结
    numpy(数据处理和科学计算) 代码示例: arr = np.array([1, 2, 3, 4, 5]) print(arr) pandas(数据处理和分析) 代码示例: ...
    99+
    2023-05-15
    Python常用 Python常用包
  • JavaScript数组 几个常用方法总结
    目录1、前言2、filter()3、map()4、sort()5、reduce()6、forEach()7、方法列表8、本文参考1、前言 数组方法有太多了,本文记录一些本人容易记错的...
    99+
    2024-04-02
  • 梳理总结25个JavaScript数组操作方法实例
    目录1.删除数组重复项2. 获取数组的片段3.Array.from 达到 .map 的效果4.置空数组5. 将数组转换为对象6. 用数据填充数组7. 数组合并8.求两个数组的交集9....
    99+
    2024-04-02
  • 常见MongoDB数据库操作产生的锁总结
    MongoDB使用的是读写锁,写锁优先级高,同时有读写请求的情况下,优先满足写锁。在2.2版本以前,锁级别是全局锁,2.2版本后是数据库级的锁。3.0后引入WiredTiger引擎,加入了文档级锁。 操...
    99+
    2024-04-02
  • python中字典的常见操作总结2
    目录判断字典中的元素是否存在in 与 not in判断元素是否存在get()函数判断元素是否存在字典中的popitem()函数所有数据类型与其布尔值深拷贝与浅拷贝总结判断字典中的元素...
    99+
    2024-04-02
  • python中字典的常见操作总结1
    目录python中字典的常见操作字典添加与修改数据[]处理法字典中的update()函数字典中的setdefault()函数获取字典的key与value字典中的keys()函数字典中...
    99+
    2024-04-02
  • JavaScript中数组常见的操作技巧分享
    这篇文章主要讲解了“JavaScript中数组常见的操作技巧分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中数组常见的操作技巧分享”...
    99+
    2024-04-02
  • js不常见操作运算符总结
    目录2、逗号运算符3、javaScript空值合并操作符(??)4、javaScript可选链操作符( ?. )1、前言 js的运算符很多,之前有文章提过。例...
    99+
    2024-04-02
  • JavaScript中常见的高阶函数总结
    目录前言map函数reduce函数filter函数sortevery方法find方法findIndex方法foreach方法总结前言 一个函数可以接受另一个函数作为参数,就把这个函数...
    99+
    2024-04-02
  • JavaScript数组常见操作技巧有哪些
    这篇文章主要介绍“JavaScript数组常见操作技巧有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript数组常见操作技巧有哪些”文章能帮助大家解决问题。一、创建数组创建数组是基...
    99+
    2023-06-29
  • JavaScript中的常见继承总结
    目录前言原型链常用的继承方法原型继承原理优点缺点执行结果借用构造函数继承原理优点缺点执行结果组合继承原理优点缺点执行结果前言 我们在学习前端的过程中一定会遇到继承这个问题 继承其实就...
    99+
    2024-04-02
  • python中字符串的常见操作总结(二)
    目录字符串的编码格式什么是编码格式?常见的编码格式字符串格式化什么是字符串格式化?格式化字符串的使用场景第一种格式化方法—%第二种格式化方法–格式化函数for...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作