JavaScript 数组 API

本文详细介绍了JavaScript中的数组操作函数,如concat()用于拼接数组,slice()用于截取元素,splice()用于删除/插入/替换元素,reverse()反转数组,sort()排序。此外,还提到了如何使用这些方法实现栈和队列功能。作者分享了自己在IT领域的经历,并推荐了一套全面的Web前端和Android开发学习资源。
摘要由CSDN通过智能技术生成

console.log(chars.join(“”)); // hello 什么都不输入,是无缝拼接

concat() - 拼接数组

concat(a1,[a2,a3,…])

拼接数组,将当前数组和其他元素或者数组拼接为一个新数组,返回新数组。

此函数不改变原数组。

参数既可以是一个值,也可以是一个数组。

可以接收任意多个参数。

若参数为数组,会将数组中的元素打散后再拼接。

代码案例

var arr1 = [1,2,3]

var newarr = arr1.concat(4,5,6)

console.log(arr1) // 1,2,3

console.log(newarr) // 1,2,3,4,5,6

var arr2 =[7,8,9]

var newarr2 = arr1.concat(11,22,arr2)

console.log(newarr2) // 1,2,3,11,22,7,8,9

var arr3 = [[1,2]];

arr3[9] = “a”;

var arr4 =[7,8,9];

var n = arr3.concat(arr4); // 当前数组结构保持不变!!!

console.log(n); // [[1,2],“a”,7,8,9]

slice()  - 截取数组元素

slice(开始位置下标,结束位置下标加一)  包头不包尾

选取当前数组中指定开始到结束位置的元素,组成新数组并返回。

不改变原数组。

支持负数下标,表示从后往前数。

第二个参数可以省略,表示一直取到数组结尾。

若一个参数都不写,表示选取所有元素,即复制数组。

案例代码

// slice() 选取当前数组中指定开始到结束位置的元素,组成新数组并返回。

var arr =[“a”,“b”,“c”,“d”,“e”,“f”,“g”];

var a1 = arr.slice(2,5); // 包头不包尾

console.log(a1); // cde

console.log(arr); //abcdefg

var a2 =arr.slice(2,-2);

console.log(a2); // cde

var a3 = arr.slice(2);

console.log(String(a3)) // cdefg 第二个参数省略表示一直取到结尾

var a4 = arr.slice();

console.log(a4); //abcdefg 若一个参数都不写,表示选取所有元素,即复制数组。

splice() - 删除/插入/替换元素

splice(开始删除的起始位置,删除多少个元素,添加的新元素,可多个)

删除元素,并向数组中添加新元素。

会直接修改原数组!

会有返回值,返回被删除的元素组成的数组。

下标支持负数。

案例代码

// 删除从 i 位置的 n 个元素。

var a1 =[1,2,3,4,5,6,7,8,9];

a1.splice(2,4);

var d1 = console.log(String(a1)); // 1 2 7 8 9

console.log(d1) // 查看被删除的元素 3 4 5 6

// 删除从 i 位置到结尾的所有元素

var a2 =[1,2,3,4,5,6,7,8,9];

a2.splice(3); // 省略第二个参数表示删除到结尾

console.log(a2); // 1 2 3

// 删除倒数 n 个元素

var a3 =[1,2,3,4,5,6,7,8,9];

a3.splice(-3);

console.log(String(a3)); // 1 2 3 4 5 6

// 插入元素

var a4 =[1,2,3,4,5,6,7,8,9];

a4.splice(2,0,“a”);

console.log(String(a4)) // 1 2 a 3 4 5 6 7 8 9

// 替换

// 将从 i 位置开始的元素替换为新元素

var a5 =[1,2,3,4,5,6,7,8,9];

a5.splice(2,3,“a”,“b”,“c”);

console.log(String(a5)); // 1 2 a b c 6 7 8 9

reverse() - 倒序排列数组

reverse()

颠倒数组中元素的顺序。

会直接修改原数组。

案例代码

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

n.reverse();

console.log(String(n)); // 6 5 4 3 2 1

sort() - 排序

sort()

排序是默认将数组元素临时转变为字符串,然后比较 Unicode 编码由小到大排列。

对数组元素进行排序。

会直接修改原数组。

案例代码

var arr = [2,3,7,9,4,6];

arr.sort(); // 默认由小到大升序排列

console.log(String(arr)) // 2 3 4 6 7 9

var arr2 =[“tom”,“jerry”,“smith”,“mia”,“jack”];

arr2.sort();

console.log(String(arr2)); //jerry jack mia smith tom

var arr3 = [12,3,123,23,2,1];

arr3.sort(); // 按Unicode 编码排列,不是数字大小排列

console.log(String(arr3)); // 1,12,123,2,23,3

var arr4 = [12,3,123,23,2,1];

arr4.sort(sorFn); // 传入一个自定义的比较函数,作为排序依据

function sorFn(a,b) { // 固定用法,升序 背锅

return a-b;

}

function sorFn1(a,b) { // 固定用法,降序 背锅

return b-a;

}

console.log(String(arr4)); // 1,2,3,12,23,123

arr4.reverse();

console.log(String(arr4)); // 123 23 12 3 2 1

栈和队列


JS 中可以通过操作数组,实现 **栈(Stack)**和 **队列(Queue)**的功能。

,是一端封闭,只能从另一端进出的数据结构。

特点:(LIFO,Last In First Out)先进后出,即后插入的数据,先被取出。

最后

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

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

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

img

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

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

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

[外链图片转存中…(img-Ozs9nXzB-1714897823723)]

[外链图片转存中…(img-mfL2sNBv-1714897823724)]

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值