数组方法对字符串使用时,需要注意的地方

2023-11-12

在平时工作或者练习的时候,我们有时会使用数组的方法去处理字符串,在使用时,我们可以发现有些方法可以对字符串使用,但是有一些不能。那么,这个规律究竟是什么?为什么有的可以使用,而有的不能使用,那些不能使用的原因是什么?

 

分析思路:我们可以看到,join以及some可以使用,而reverse和push不能使用。在报错信息里面有一个重要的信息是read only(只读),看到这个我们很容易联想到Object中的属性描述符中有一个writable。我们就可以猜想,是不是因为writable的原因。

我们使用Object.defineProperty()打印一下字符串的属性描述符。

 

果然,打印出来,我们可以看到,字符串中每个元素可以看到里面的writable以及configurable都为false,说明字符串的字符是不可修改以及不可删除的,所以数组里面涉及到修改原数组的方法都不可以对字符串使用,那些个不会修改原数组,返回一个新数组的方法可以对字符串使用。同时可以看到字符串的属性操作符列表中的length也是不可修改的,这就表示着修改数组长度的一系列方法都不可以使用,例如push,shift,splice等等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数组方法对字符串使用时,需要注意的地方 的相关文章

随机推荐

  • cocos creator创建简单的动态网格

    如果初次尝试cocos的动态网格创建 一定会遇到非常多的问题 所以刚开始使用 最好用一个简单的东西来实现 逐步的复杂化 下面代码展示了一个最基础的三角面的创建 代码 private initDyMesh const pos new Floa
  • 记导入第三方库Alamofire的坑

    按照网上打的操作步骤导入之后 存在No Such Module Alamofire 解决办法是重新Build 但是根本没用 原因是版本问题 选择一个合适的版本即可 在readme 文件可看到对应的版本情况
  • 人体姿态估计--RMPE: Regional Multi-Person Pose Estimation

    RMPE Regional Multi Person Pose Estimation ICCV2017 Code is based Caffe and Torch https github com MVIG SJTU RMPE https
  • Spring Boot如何实现缓存的自动刷新

    Spring Boot如何实现缓存的自动刷新 在Web应用程序中 缓存是提高性能的重要手段之一 在Spring Boot应用程序中 我们可以使用Spring Cache来实现缓存功能 然而 当缓存的数据发生变化时 我们可能需要手动刷新缓存
  • html5 imports,html - HTML5 Imports not working - Stack Overflow

    The correct to do this is through server side pages includes or through JavaScript PHP example Welcome to my home page S
  • 在浏览器输入localhost:3000显示需要新应用打开此localhost原因

    今天做web应用开发时遇到在使用非谷歌浏览器时 输入localhost 3000 显示如下 显示需要新应用打开此localhost 实在是没办法显示出网页 经过反复尝试终于发现问题其实是现在使用非Chrome浏览器 在地址栏输入不带http
  • E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

    ubuntu apt 安装软件的时候 经常有这种错误 是由于依赖关系无法满足而引起的 比如我在安装pangolin的时候 提示 下列软件包有未满足的依赖关系 libxkbcommon dev 依赖 libxkbcommon0 0 8 0 1
  • vm安装Ubuntu 本机navicat连接Ubuntu MySQL

    先下载 虚拟机软件 VMware Workstation Pro 我下的16版 自己找密钥 打开VMware Workstation Pro 左侧右键鼠标 新建虚拟机 如图 选择典型 下一步 稍后安装系统 下一步 选择系统 我选 Linux
  • MVC知识整理

    MVC基础知识整理 ASP NETMVC框架 这里以MVC5为例 涉及到知识有 Model View Controller的使用 Area和Global的理解 路由配置 数据传递的方式 AOP思想的体现 4大过滤器 各种Result Raz
  • 台式计算机关闭屏幕快捷键,多种电脑屏幕关闭方法推荐

    有时因为需要节约电脑电量 有时因为为避免同事窥屏 有时由于顾及后台运行任务进程诸如听歌 电脑磁盘碎片整理等多种原因 这些均促使我们需要关闭电脑屏幕 无论基于何种原因促使我们关闭电脑屏幕 总的来说其并不容易操作 与台式机设置专门显示屏关机按键
  • H.264中的熵编码算法(主讲指数哥伦布编码)

    以下文章参考于殷文杰的博客 https yinwenjie blog csdn net article details 52301584 1 熵编码基本概念 1 熵 这一概念原本来自于化学和热力学 用于度量能量退化的指标 即熵越高 物体或系
  • HTTP 499 状态码 nginx下 499错误的解决办法

    HTTP 499 状态码 nginx下 499错误的解决办法 日志记录中HTTP状态码出现499错误有多种情况 比如nginx反代到一个永远打不开的后端 日志状态记录就会是499 发送字节数是0 经常有用户反馈网站系统时好时坏 因为线上的产
  • 【转】Robust regression(稳健回归)

    Robust regression 稳健回归 语法 b robustfit X y b robustfit X y wfun tune b robustfit X y wfun tune const b stats robustfit 描述
  • 在服务器上用conda创建新的python环境报错(PackagesNotFoundError)

    主要参考这篇博客 https blog csdn net weixin 43815222 article details 108549497 报错截图 prefix 后跟的是我的虚拟环境路径 home envs assignmaterial
  • 汉诺塔——递归的应用

    关于汉诺塔的原理 可看这里 点击打开链接 下面是源代码 include
  • SpringBoot参数校验--List类型

    我们在写后台接口的时候 通常会定义DTO来接收参数 在DTO中使用注解书写验证的规则 然后在Controller层使用 validated注解来验证自己制定的校验规则 但当我们的接口接收的参数为List
  • 面试题,说说你对spring IOC和AOP的理解

    在面试中 经常会问 说说你对spring IOC和AOP的理解 问题很宽泛 似乎不知道从何说起 回答思路 1 先用通俗易懂的话解释下何为IOC和AOP 2 各自的实现原理 3 自己的项目中如何使用 以下是个人的一些总结 仅供参考 1 IOC
  • java异常处理

    目录 异常概述与异常体系结构 常见异常2 数组下标越界异常 空指针异常 异常的运算 转换不兼容 异常处理机制一 异常处理机制二 手动抛出异常 用户自定义异常类 总结 异常概述与异常体系结构 在使用计算机语言进行项目开发的过程中 即使程序员把
  • 在winform中屏蔽双击最大化或最小化窗体(C#实现),禁用任务管理器结束程序

    在需要屏蔽双击窗体最大化 最小化 关闭 拖拽窗体中写入以下代码 可以根据需要取舍代码 protected override void WndProc ref Message m if m Msg 0x112 switch int m WPa
  • 数组方法对字符串使用时,需要注意的地方

    在平时工作或者练习的时候 我们有时会使用数组的方法去处理字符串 在使用时 我们可以发现有些方法可以对字符串使用 但是有一些不能 那么 这个规律究竟是什么 为什么有的可以使用 而有的不能使用 那些不能使用的原因是什么 分析思路 我们可以看到