当前位置:网站首页>js数组相关知识复习
js数组相关知识复习
2022-08-09 07:21:00 【慎思笃行_】
70
数组简介
数组是一个对象
数组和对象的区别
1.区别是数组是使用的索引
2.数组存储的性能 要比普通的对象要好,在开发中我们经常使用数组存储一些数据
当我们使用typeof来检查数组的时候 会发现返回的是object
console.log(typeof arr) //这边会返回object
71
数组字面量
创建输出
方法一:
let arr =[1,2,3,4,5,6]
方法二: 构造函数的形式也是可以的
let arr =new Array(1,2,3)
72
数组的四个方法
--------------------------------------------------------------------------------------------------------
push() 该方法可以向数组的末尾添加一个或者多个元素,并且返回数组的新长度
let arr= ["猪八戒",”孙悟空“,"沙和尚"]
arr.push('唐三藏')
console.log(arr) ///["猪八戒",”孙悟空“,"沙和尚",'唐三藏']
let result=arr.push('唐三藏')
console.log(result) //4 返回数组的新长度
--------------------------------------------------------------------------------------------------------
pop() 该方法可以删除数组的最后一个元素 并且将删除的元素返回
let arr= ["猪八戒",”孙悟空“,"沙和尚"]
arr.pop()
conlose.log(arr) // ["猪八戒",”孙悟空“]
let result=arr.pop()
console.log(result) // ["沙和尚"]将删除的元素返回
--------------------------------------------------------------------------------------------------------
unshift() 向数组的开头添加一个或者多个数据
--------------------------------------------------------------------------------------------------------
shift() 删除数组开头第一个数据 并且返回删除的那个数据
73
数组的遍历
74
数组练习
75
forEach
forEach()方法是js为我们提供的一个数组的遍历的方法 非常好使用
1.最基础的用法
let arr = ["猪八戒",”孙悟空“,"沙和尚"]
arr.forEach(function(a,b,c){
console.log(a,b,c)
}) //a=value b=index c=array
参数一:代表当前正在遍历的元素
参数二:是当前正在遍历的元素的索引
参数三:当前遍历的数组
76
slice
可以用来从数组中提取指定的元素 将截取的元素返回到一个新的数组
参数
1.截取开始的位置的索引
2.截取结束的位置的索引
let arr = ["猪八戒",”孙悟空“,"沙和尚"]
let result = arr.slice(0,2)
console.log(result) //["猪八戒",”孙悟空“]
splice
可以用于删除数组中的指定元素
会将指定元素从原数组中删除 并将删除的元素返回值返回
参数:
第一个:表示开始位置的索引
第二个:表示删除的数量
第三个元素以后:可以传递一些新的元素 这些元素可以插入开始位置
let arr = ["猪八戒",”孙悟空“,"沙和尚"]
let result = arr.splice(0,2)
console.log(arr) //["沙和尚"]
console.log(result) // ["猪八戒",”孙悟空“]
let result = arr.splice(0,2,“牛魔王”,"铁扇扇") //这些新增加的元素 会替换到刚刚删除的地方 并且重新组合为数组
77
数组去重练习
78
数组的剩余的方法
concat
可以连接两个或者多个数组,并且会合并为一个数组
该方法不会对原数组产生影响
let arr = ["猪八戒",”孙悟空“,"沙和尚"]
let arr2 = ["白骨精",”玉兔精“,"蜘蛛精"]
let result =arr.concat(arr2)
console.log(result) //["猪八戒",”孙悟空“,"沙和尚","白骨精",”玉兔精“,"蜘蛛精"]
join
该方法可以将数组转化为一个字符串
let arr = ["猪八戒",”孙悟空“,"沙和尚"]
let result =arr.join() // "猪八戒,孙悟空,沙和尚"
let result =arr.join('-') // "猪八戒-孙悟空-沙和尚"
console.log(result)
reverse
该方法是用来反转数组(前面去后面 后面去前面)
该方法直接修改原来的数组
let arr = ["猪八戒",”孙悟空“,"沙和尚"]
arr.reverse()
console.log(arr) // ["沙和尚",”孙悟空“,"猪八戒"]
sort
对我们的数组进行排序
会影响到原来的数组
我们这个是按照unicode 编码排序的
let arr =["b","d","e","a","c"]
arr.sort();
console.log(arr) //"a,b,c,d,e"
let arr =["3","4","11","2","5"]
arr.sort();
console.log(arr) //"11,2,3,4,5"
79
函数的方法
call 和apply这两个方法都是函数对象的方法,需要通过函数对象来调用
在调用call() 和apply()的时候 可以将一个对象指定为一个参数
function fun (){
alert("我是fun()函数")
}
fun() //执行函数
fun.call()
fun.apply()
80
arguments
在调用函数的时候 浏览器每次都会传递两个隐含的参数
1.函数的上下文对象 this
2.封装实参对象arguments
--argumentss是一个类数组对象
--它可以通过索引来操作数据 也可以获取长度
--在调用函数的时候,我们的传输的实参 都会在我们的arguments保存
function fun(){
console.log(arguments) //[object arguments]
console.log(arguments instanceof Array) //false
console.log(Array.isArray(arguments)) //false
console.log(arguments.length) //0 这边因为没有传输相关的参数
}
fun()
------------------------------------------------------------------------------------------------------------------
function fun(a){
console.log(arguments.length) //1 这边传入一个实参
console.log(arguments[0]) //'hello' 这边会打印出来的
}
fun(‘hello’)
我们这边其实可以不用设置形参 我们直接设置 arguments.就可以进行参数的设置
------------------------------------------------------------------------------------------------------------------
function fun(){
console.log(arguments.callee) //这边直接打印出来 该函数
}
fun()
arguments中有一个属性callee 这个属性对应当前正在执行的函数对象
边栏推荐
猜你喜欢
随机推荐
Classes and Structures
字节也开始缩招了...
链表专项练习(三)
XxlJobConfig distributed timer task management XxlJob configuration class, replace
View log common commands
MySQL高级特性之分布式(XA)事务的介绍
洛谷P1110 报表统计 multiset stl好题
接口测试概念
The maximum validity period of an SSL certificate is 13 months. Is it necessary to apply for multiple years at a time?
Inception V3 Eye Closure Detection
低成本、大容量、高交互…Polkadot 引领 GameFi 实现新突破
分布式理论
软件测试的岗位会越来越少吗?
【Template】Tree Chain Segmentation P3384
2022年7月小结
ByteDance Written Exam 2020 (Douyin E-commerce)
入门cv必读的10篇baseline论文
The water problem of leetcode
排序第一节——插入排序(直接插入排序+希尔排序)(视频讲解26分钟)
Distributed id generator implementation