前端面试题-js数据类型-怎么判断是对象还是数组-字符串常用方法-数组常用方法

前端面试题-js部分-js数据类型-怎么判断是对象还是数组-字符串常用方法-数组常用方法

  • JS数据类型有哪些
    • 值类型和引用类型的区别
    • 数组的常用方法
      • 哪些方法会改变原数组
    • 字符串常用方法
    • 对象常用方法
    • 怎么判断是对象还是数组

JS数据类型有哪些

数据类型类型描述
Number基本类型,值类型数值类型是整型和浮点型的集合,具体表示什么要看具体的赋值情况
String基本类型,值类型字符串类型,保存0到16位的UNICODE代码组成的字符序列
Boolean基本类型,值类型布尔类型,有true或false的两个取值
Null基本类型,引用类型只有有一个值,表示一个空的对象引用
Undefined基本类型值类型只有一个值 表示一个变量声明后未被赋予任何值
Symbol基本类型,值类型唯一值
Object复杂类型,引用类型对象类型,本质是一个无序的键值对的列表,类似与集合,json形式
Array复杂类型,引用类型数组类型,是数据的有序列表
Function复杂类型,引用类型函数类型,函数是对象,函数名是指针。多次赋值后面的的赋值会覆盖前的

一般说的JS的数据类型是前7个 7中数据类型 后两种也有归属于object的说法

值类型和引用类型的区别

1.值类型内容长度固定,保存值的存在范围,引用类型内容长度不固定,可以存储不定长度的数据
2.值类型只能单纯的存储值,如整型,字符串等。而引用类型可以存储对象的堆地址,可以使多个变量指向同一个对象
3.引用类型可以缓解栈的存储压力
4.在Js语法中基本数据类型不能动态添加任何属性而引用数据类型可以添加属性

数组的常用方法

方法描述
push数组新增方法 往最后位置插入一个值
unshift数组新增方法 往最前位置插入一个值
pop数组删除方法 最后位置删除一个
shift数组删除方法 最先位置删除一个
map数组遍历方法 返回一个新数组
indexOf数组查找方法 查找目标值的第一个索引
lastIndexOf数组查找方法 查找目标值的最后一个索引
tostring数组转换为字符串,元素直接用,号分隔
Join数组拼接成字符串方法 传入的参数 是拼接的分隔
concat数组合并方法 合并在后
arr[idx]数组根据索引取值
every数组遍历方法 所有值满足条件返回true 有一个不满足返回false
some数组遍历方法 有一个值满足返回true 都不满足返回false
splice数组删除方法 指定位置删除多少元素
slice数组截取方法 从哪里开始截取 截取到哪里 返回新的数组
sort数组排序方法 数组原地修改
reserve数组反转方法 数组原地修改
inculdes数组查找方法 是否包含目标值 返回true和false

哪些方法会改变原数组

pop push shift unshift sort reserve splice 这些常用的方法会改变原数组

字符串常用方法

方法描述
split字符分割成数组的方法 返回一个数组 接受的参数是截取的值
substr截取字符串方法 返回截取的值
trim字符串去空方法 返回首位没有空格的字符串
slice字符串截取方法 返回截取的值
concat字符串拼接方法 将两个字符串拼接到一起
replace字符串替换方法 匹配到的第一个目标值替换
replaceall字符替换方案 匹配到的所有目标值替换
charAt字符串查找,根据索引位置返回字符串本身
charcodeAt字符串查找,根据字符串返回字符的ASSCI码
indexOf字符串查找方法 返回目标值的第一个索引
lastIndexOf字符串查找方法 返回目标值的最后一个索引
inculdes字符串查找方法 是否包含目标值 返回true和false
startWith字符串查找方法 是否以目标值开头 返回true或fasle
endWith字符串查找方法 是否以目标值结尾 返回true或fasle

对象常用方法

方法描述
object.keys(对象)返回对象key作为数组项的数组
object.values(对象)返回对象value作为数组项的数组
object.entries(对象)返回一个二维数组 key作为数组项的0位置 value作为数组项的1位置

怎么判断是对象还是数组

1.Array.isArray(要检测的值) 是数组返回true 不是数组返回false
2.instanceof

要检测的值 instanceof Array (数据类型)//返回true 或false

在这里插入图片描述
3.constructor

[](要检测的目标值).constructor == Array(数据类型)//返回true 或false

4.Object.prototype.toString.call(arr) 把对象转换成一个字符串和已知对象去对比
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/643923.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Day24_77 组合

77 组合 组合无序,排列有序。1~n个数中选k个数组合,k不确定,组合的方式。 (图片来自代码随想录)确定回溯法的三部曲: 递归函数的返回值和参数:集合n中取k个数,,每次从…

实用VBA:17.大量word文件中的文本内容进行批量替换

1.需求场景 在工作中可能会遇到需要对大量word文件中的文字内容进行批量替换的情况。相比excel的批量处理,个人感觉word文档中由于包含大量样式信息,批处理时总感觉有顾虑。一者担心影响了文档的格式,误修改了文档的样式,那后果……

【操作系统】实验五 添加内核模块

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要&…

使用trace工具分析Mysql如何选择索引

背景说明 工作中,可能会遇到执行一个SQL,明明有索引,但是采用explain分析后发现执行结果并未走索引。甚至还有部分SQL语句相同就只是查询条件不一样也会出现有的走索引,有的不走索引情况。比如: 我的示例环境有个employees表,并有个idx_name_age_position的联合索引…

纯命令行在Ubuntu中安装qemu的ubuntu虚拟机,成功备忘

信息总体还算完整,有个别软件更新了名字,所以在这备忘一下 1. 验证kvm是否支持 ________________________________________________________________ $ grep vmx /proc/cpuinfo __________________________________________________________________…

40G QSFP+ ER4光模块:高效稳定的数据传输解决方案

随着网络技术的不断发展,数据传输的速度和效率成为了网络流畅度和稳定性的关键因素。40G QSFP ER4光模块作为最新一代的光纤传输模块,凭借其高速度、高效率、长距离传输等特点,正逐渐在数据中心、企业网络等领域得到广泛应用。 一、40G QSFP…

离线编译 onnxruntime-with-tensortRT

记录为centos7的4090开发机离线编译onnxruntime的过程,因为在离线的环境,所以踩了很多坑。 https://onnxruntime.ai/docs/execution-providers/TensorRT-ExecutionProvider.html 这里根据官网的推荐安装1.15 版本的onnx 因为离线环境,所以很…

1. Matplotlib的Figure基础概念

1. Matplotlib的Figure基础概念 一 **角色和作用**二 **类比:**三 **基本使用示例** Matplotlib是一个用于绘制二维图形的Python库,广泛应用于数据可视化领域。其灵活性和强大的功能使得用户能够轻松创建各种类型的图表,包括折线图、散点图、…

RectMask2D的合批情况验证

1.经过实际测试,RectMask2D在裁剪区域完全相同且位置完全重合的情况下能够合批 但是当RectMask2D位置不重合时,就不能合批 注意,虽然此处被RectMask2D裁剪了,但是有部分是被渲染的,在计算深度时属于需要渲染…

Labview for循环精讲

本文详细介绍Labview中For循环的使用方法,从所有细节让你透彻的看明白For循环是如何使用的,如果有帮助的话记得点赞加关注~ 1. For循环结构 从最简单的地方讲起,一个常用的for循环结构是由for循环结构框图、循环次数、循环计数(i)三部分组成…

动静态库的理解、制作、使用。

一.动静态库的理解。 1.什么是库? 代码是无穷无尽的,当程序猿在写一些项目时,未必所有代码亲历亲为,他们可以在网上寻找大佬写过的一些有关需求的代码,这些代码可以让他们拿过来直接使用,而省去了许多精力…

回归问题波士顿房价预测

线性回归API sklearn.linear_model.LinearRegression(fit_interceptTrue) 正规方程优化参数:fit_intercept,是否计算偏置属性:LinearRegression.coef_ (回归系数) LinearRegression.intercept_(偏置&…

STL第四讲

第四讲 万用Hash Function 左侧的是设计为类并重载调用运算符,右侧是一般函数的形势; 但是右侧形势在创建容器时更麻烦; 具体例子: 第三种形势:struct hash 偏特化形式 tuple 自C03引入; 关于源码解读的…

ASCB1系列一体式智能微型断路器 智慧空开-安科瑞 蒋静

1. 概述 ASCB1系列智能微型断路器(一体式)(以下简称智能微型断路器)应用于户内建筑物及类似场所的工业、商业、民用建筑及基础设施等领域低压终端配电网络。智能微型断路器对用电线路的关键电气参数,如电压、电流、功率、温度、漏电、能耗等…

北美“水务巨头”遭遇勒索软件攻击,账单支付系统被破坏

近日,威立雅北美公司披露了一起勒索软件攻击事件,此次攻击影响了其市政水务部门的部分系统,并破坏了其账单支付系统。 在发现攻击后,该公司立即采取了防御措施,并暂时关闭了部分系统,以避免漏洞造成更大的…

Broadcom交换芯片56620架构

文章目录 架构1.系统逻辑视图2.逻辑芯片视图3.芯片框图4.MIIM(Medium Independent Interface Management)5.交换结构6.CAP 架构 1.系统逻辑视图 Ingress Chip作用: 解析报文128字节的头部(MMU(Memory Management Uni…

JavaWeb之开发介绍 --黑马笔记

什么是 Web ? Web:全球广域网,也称为万维网(www World Wide Web),能够通过浏览器访问的网站。 Web 网站的工作流程 上图解释: 当你在浏览器中输入网址或点击一个链接时,浏览器会向前端服务器发起请求&…

C++进阶--哈希的应用之位图和布隆过滤器

哈希的应用之位图和布隆过滤器 一、位图1.1 位图(bitset)的提出1.2 位图的概念1.3 位图的模拟实现1.3.1 位图的底层结构1.3.2 位图的成员函数1.3.2.1 位图的构造1.3.2.2 位图的插入:set1.3.2.3 位图的删除:reset1.3.2.4 位图的查找…

头疼管理 Postgres Schema?开源工具大盘点!

Postgres 前不久荣获了 DB-Engines 2023 年度数据库的桂冠,其生态也在蓬勃发展,不过,迁移 Postgres 数据库 schema 仍旧令人头疼,不是一件好办的事儿。 本文中,我们盘点几个好用的用于 Postgres 的开源数据库 schema 迁…

UDS Flash刷写流程介绍

一、刷写流程介绍 1.1刷写包含以下三个步骤:预编程,编程,后编程 1.2预编程步骤 此步骤是保证能够正常进入编程(10 02)会话下。 (1)如果无特殊要求,只保证刷写能够正常进行&#x…