当前位置:网站首页>js 数组(总结)
js 数组(总结)
2022-07-28 14:51:00 【PBitW】
像什么介绍算法、数据结构是什么的,我就不废话了,直接步入正题
js中使用数组这个数据结构,就是直接调用API,不需要自己封装
不需要封装的原因
- 几乎所有的编程语言都原生支持数组类型,因为数组是最简单的内存数据结构
- js的数组不像c语言那种底层代码一样,只能存储除了定义时的数据类型,也不会定义多长就是多长而无法自己增加
数组的劣势
- 在中间位置插入、删除元素的效率比较低,因为要移动元素
- 数组扩大,有的语言需要重新申请更大的存储空间,将原来的值全部赋值过来后,移除原来的数组
创建数组

数组方法 – 返回值
js的数组提供了很多方法:
当然还有漏掉的:
pop(删除最后一个元素)-- 返回移除的项
push(在最后添加元素)-- 返回修改后数组的长度
shift(删除第一个元素)–返回移除的项,数组为空的则返回underfined
unshift(在第一个元素前添加元素)–返回数组的长度
splice(功能最强的方法)–操作传参不一样返回的不一样,不好描述
以及一些漏掉的高阶函数,例如:
reduce(遍历求和)–返回求和的结果
filter(遍历数组,过滤符合条件的数组元素 )–返回合条件的新数组
sort(数组 从小到大/从大到小 排列, 字母也可以)–返回变化后的原数组
find(找到第一个符合条件的成员)–返回数组成员
fundIndex(找到第一个符合成员的索引)–返回索引值
这里我就不多说了,可以直接看:
数据结构(二)之数组结构
高阶函数 - - 廖雪峰
05 vue的哪些数组操作是响应式的
js数组方法及其返回值(简单用法)
数组方法注意
一、toString和valueOf的区别
toString()和valueOf()都是对象的方法。toString()方法返回反映这个对象的字符串。valueOf()方法如果存在任意原始值,它就默认将对象转换为表示它的原始值;对象是复合值,而大多数对象无法真正表示为一个原始值,因此默认的valueOf()方法简单地返回对象本身,而不是返回一个原始值。
这里可以见我的博客:2021 亚鸿面试题2
toString()和valueOf()的主要不同点在于,toString()返回的是字符串,而valueOf()返回的是原对象
由于undefined和null不是对象,所以它们toString()和valueOf()两个方法都没有
数值Number类型的toString()方法可以接收转换基数,返回不同进制的字符串形式的数值;而valueOf()方法无法接受转换基数
时间Date类型的toString()方法返回的表示时间的字符串表示;而valueOf()方法返回的是现在到1970年1月1日00:00:00的数值类型的毫秒数
包装对象的valueOf()方法返回该包装对象对应的原始值
使用toString()方法可以区分内置函数和自定义函数
感谢作者:隔壁大米,文章链接:https://www.jianshu.com/p/24547d4e565f
二、pop|push|shift|unshift
这些方法都可以接收多个参数,一次性添加或删除多个元素!
边栏推荐
- DNS域名解析协议
- Software architecture and design (VIII) -- distributed architecture
- Youdao cloud notes remove the bottom advertisement
- PyQt5快速开发与实战 5.1 表格与树
- 便携式钻孔测斜仪数据采集仪测量原理与测斜探头的连接及使用方法
- PyQt5快速开发与实战 5.2 容器:装载更多的控件
- Zhaoqi scientific innovation and entrepreneurship competition platform, activity roadshow, investment and financing docking
- 以太网转RS485串口计数器WiFI模块 LED灯光控制器IBF165
- Docker实现Redis Cluster(集群)模式 哈希槽分区进行亿级数据存储
- 软件架构与设计(六)-----层次结构体
猜你喜欢

2路DI高速脉冲计数器1路编码器转Modbus TCP有线无线模块IBF161

分体式测斜探头安装要点及注意事项

以太网转RS485串口计数器WiFI模块 LED灯光控制器IBF165

Shell编程规范与变量

AS如何不区分大小写去进行智能提示

How to effectively conduct the review meeting (Part 1)?

活动速递| Apache Doris 性能优化实战系列直播课程初公开,诚邀您来参加!

Software architecture and design (x) -- Architecture Technology

How to quickly access the unified authentication system

Principle and application of low cost / small volume module rs485/232 to analog signal ibf33
随机推荐
How to quickly access the unified authentication system
Perception of life
Virturalbox solves the problem of kernel driver
Rust 入门指南(rustup, cargo)
Multipurpose mixed signal 8ai/4di/do to serial port rs485/232modbus acquisition module ibf30
What are the process specifications of software testing? How to do it?
如何快速接入统一的认证鉴权体系
How as makes intelligent prompts regardless of case
Learn RX programming from me -- concat
Summarize the knowledge points of the ten JVM modules. If you don't believe it, you still don't understand it
Shell programming specifications and variables
Communication between client and server based on rsocket protocol
VirturalBox解决kernel driver问题
高精度绝对角度传感器应用高速度角度监测
Docker容器实现MySQL主从复制
Voice social system -- improve the audio system industry chain
太阳能路灯的根本结构及作业原理
软件架构与设计(六)-----层次结构体
编码器高速脉冲计数器Modbus RTU模块IBF150
已拿下华为85亿元屏幕订单?维信诺回应:客户要求保密,无法回复!