当前位置:网站首页>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 这个属性对应当前正在执行的函数对象
边栏推荐
- unity第一课
- Zero shift of leetcode
- 【MySQL】update mysql.user set authentication_string=password(“123456“) where User=‘root‘; 报错
- A brief introduction to microservice architecture
- 2017 G icpc shenyang Infinite Fraction Path BFS + pruning
- P1505 [National Training Team] Tourism Tree Chain Breakdown
- 毕业我选择了保家卫国,退伍我选择了华为外包
- rsync:recv_generator: mkdir (in backup) failed:Permission denied (13) |failed to set times on '.'
- car-price-deeplearning-0411
- makefile记录
猜你喜欢
随机推荐
SAP ALV data export many of the bugs
【Reprint】Deep Learning (deep learning) study notes arrangement
Mysql实操
虚拟机网卡报错:Bringing up interface eth0: Error: No suitable device found: no device found for connection
web自动化测试有哪些工具和框架?
Classes and Structures
es6 基础知识详解 变量 字符串 解构赋值 函数 对象 从入门到精通
先序遍历,中序遍历,后序遍历,层序遍历
浅识微服务架构
The AD in the library of library file suffix. Intlib. Schlib. Pcblib difference
Use tensorflow.keras to build a neural network model modularly
细谈VR全景:数字营销时代的宠儿
分布式事务的应用场景
TCP段重组PDU
差分约束-图论
SAP ALV 数据导出被截断的bug
【烂笔头】各厂商手机手动抓log
ImportError: cannot import name ‘imresize‘
01 自然语言处理NLP介绍
Pytorch中 nn.BatchNorm2d() 归一化操作









