JavaScript数据结构——数组

这篇博客详细介绍了JavaScript中的数组数据结构及其常用方法,包括`splice()`、`sort()`、`forEach()`、`reduce()`和`map()`。讲解了如何使用这些方法对数组进行操作,如排序、求和、映射以及判断数组内是否存在某值。还探讨了多维数组、伪数组的概念,并提供了几道关于数组操作的算法题,如寻找数组的中心索引、加一问题,帮助读者深入掌握JavaScript数组操作技巧。
摘要由CSDN通过智能技术生成

理解数组

数组是一种基本的数据结构,用于按顺序存储元素的集合。但是元素可以随机存取,因为数组中的每个元素都可以通过数组索引来识别。
在JavaScript的数组对应Array对象
JavaScript Array对象

数组的方法

arr.splice()

arr.splice(index, number, item1…itemX)
用于添加、删除或修改数组中的元素

实例修改数组中的元素

var arr = [1, 2, 3, 4, 5]
arr.splice(0, 2, "a", "b")
console.log(arr)  //["a", "b", 3, 4, 5]

arr.sort()

arr.sort([compareFunction])
用于对数组元素进行排序,默认排序顺序是在将元素转换为字符串toString(),然后比较它们的UTF-16代码单元值序列时构建的。要对数字进行排序的话要设置compareFunction。
如果 compareFunction(a, b) 的返回值小于 0 ,那么 a 会被排列到 b 之前;
如果 compareFunction(a, b) 的返回值等于 0 , a 和 b 的相对位置不变。备注: ECMAScript 标准并不保证这一行为,而且也不是所有浏览器都会遵守(例如 Mozilla 在 2003 年之前的版本);
如果 compareFunction(a, b) 的返回值大于 0 , b 会被排列到 a 之前。

通常对数字数组排序的方法如下

// 升序
arr.sort((a,b)=>a-b)

// 降序
arr.sort((a,b)=>b-a)

跟python的用法区分开,

// 升序
list.sort( key=None, reverse=False)

// 降序
list.sort( key=None, reverse=True)

arr.forEach()

array.forEach(function(currentValue, index, arr), thisValue)
用于调用数组的每个元素,并将元素传递给回调函数。

用forEach()求和

var sum = 0,
arr = [1,3,4]
arr.forEach(item => sum += item)

arr.reduce()

arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])
对数组中的每个元素执行一个reducer函数(升序执行),将其结果汇总为单个返回值。

  • accumulator 累计器累计回调的返回值; 它是上一次调用回调时返回的累积值,或initialValue。
  • currentValue 数组中正在处理的元素。

reduce()的运行

[0, 1, 2, 3, 4].reduce(function(accumulator, currentValue, currentIndex, array){
   
  return accumulator + currentValue;
});

在这里插入图片描述
用arr.reduce()求和

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值