JavaScript 数据结构与算法(数组)(1)

本文介绍了JavaScript中数组的基本操作方法,如push、unshift、pop、shift和splice,以及如何处理二维数组和使用迭代器函数。同时提到一份针对Web前端和Android开发的全套学习资料,旨在帮助工程师系统提升技能。
摘要由CSDN通过智能技术生成
添加、删除 元素

push 方法,把元素添加到数组的末尾

const numbers = [1,1]

numbers.push(2)

unshift方法,把数值插入数组的开头

numbers.unshift(3)

console.log(numbers) // [3, 1, 1, 2]

pop方法从数组末尾删除元素

numbers.pop()

console.log(numbers) // [3, 1, 1]

shift方法从数组开头删除元素

splice 方法删除在任意位置添加或删除元素

splice 第一个参数,表示元素的索引值。第二个参数是删除的个数。第三个参数往后,就是要添加到数组里的值。

numbers.splice(2,0,4); // 从数组索引 2 开始的 1 个元素 不是删除元素,所以传入 0

console.log(numbers)

迭代二维数组的元素

const averageTemp = []

averageTemp[0] = [];

averageTemp[0][0] = 72;

averageTemp[0][1] = 75;

averageTemp[0][2] = 79;

averageTemp[0][3] = 79;

averageTemp[0][4] = 81;

averageTemp[0][5] = 81;

averageTemp[1] = [];

averageTemp[1][0] = 81;

averageTemp[1][1] = 79;

averageTemp[1][2] = 75;

averageTemp[1][3] = 75;

averageTemp[1][4] = 73;

averageTemp[1][5] = 73;

// 一层一层的循环

function printMa(arr){

for(let i= 0; i<arr.length; i++){

for (let j = 0; j< arr[i].length; j++){

console.log(arr[i][j])

}

}

}

printMa(averageTemp)

数组合并

concat 方法可以向一个数组传递数组、对象或是元素。

const zero = 0;

const positiveNumbers = {age :1, name:2};

const negativeNumbers = [-3, -2, -1];

let numbers = negativeNumbers.concat(zero, positiveNumbers);

console.log(numbers) //[0,-3, -2, -1,{…}]

迭代器函数

有时,我们需要迭代数组中的元素

let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];

const isEven = x => x % 2 == 0

every方法会迭代数组中的每个元素,直到返回 false

numbers.every(isEven) // false

some方法 它和 every 的行为相反

numbers.some(isEven) //ture

forEach 方法 它和使用 for 循环的结果相同

numbers.forEach(x => console.log(x))

map 方法 会保存 isEven 函数的运行结果

const myMap = numbers.map(isEven);

console.log(myMap)

// [false, true, false, true, false, true, false, true, false, true, false, true, false, true, false]

filter方法,它返回的新数组由使函数返回 true 的元素组成

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值