JavaScript 中的反转字符串

2023-12-12

我写了一个 JS 构造函数来反转字符串变量:

function ReverseString(string) {
    this.str = string;
    var size = this.str.length;
    this.reverse = function () {
        for(size; size >= 0; --size) {
            console.log(this.str[size]);
        }
    }
}

当我在新的字符串对象上调用反向方法时("asd")它产生以下输出:

  undefined 
    d 
    s 
    a

哪里有这个undefined来自?你能帮我消除这个吗?


The length问题已经解释了。为了解决它,你可以使用:

function ReverseString(string) {
    this.str = string;
    var size = this.str.length;
    this.reverse = function () {
        while(size--) {
            console.log(this.str[size]);
        }
    }
}

反转字符串的另一种(更简单的方法)是将其拆分为一个数组,反转该数组,然后再次连接:

somestring.split('').reverse().join('');

应用于您的方法,类似于此代码片段:

var result = document.querySelector('#result');

function ReverseString(string) {
  this.str = string;
  this.reverse = function() {
    var rev = this.str.split('').reverse();
    void(rev.map(function(v) {
     result.innerHTML += v + '<br>';
    }));
    this.reversed = rev.join('');
  };
}

var myReversed = new ReverseString('hello world');
myReversed.reverse();
<div id="result"></div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 中的反转字符串 的相关文章

  • Next.js - 如何使用 Provider 来包装路由并使用 Context 和 Hooks

    我在 create react app 中编写了类似于以下的代码 我想知道 next js 的等效代码 下面的代码是我尝试拥有一个可用于所有页面的全局上下文 提供者包装链接 我没有收到任何错误 问题出在里面about当我期望上下文状态时 页
  • $(window).resize() 和打印预览模式

    我有一段非常简单的代码 可以在调整大小后刷新窗口 window resize function location reload 当我尝试在 Chrome 中打开打印预览模式 Ctrl P 时 它也会刷新它 有什么想法如何避免这种行为吗 要确
  • 将浮点值转换为灰度十六进制颜色值

    这个问题又快又简单 我有一个二维浮点数组 0 0000000 到 1 0000000 我想将这些数字转换为颜色值 000000 到 ffffff 请注意 我所说的只是灰度值 0 黑色 0 5 中灰色 1 白色 有谁知道如何用 javascr
  • 旋转嵌套 SVG

    我在用SVG js http svgjs com并尝试使用 SVG 进行一些操作 我以前使用过 canvas 但我对其生成的图像质量非常失望 因此我决定使用纯 SVG 我设法将所有内容都改为纯 SVG 方法 除了一件事 旋转 我无法让它发挥
  • ngRepeat 中的函数执行过于频繁

    我有三个tabs里面有不同的htmlng include 这些选项卡使用以下方式显示ng repeat 只有一个 HTML 模板包含函数调用 但它执行了 3 次 每个模板执行一次 ng repeat迭代 这里出了什么问题以及如何解决它 va
  • Xhr上传event.loaded问题

    opts xhr function var xhr new window XMLHttpRequest Upload progress xhr upload onprogress function e if e lengthComputab
  • 如何从客户端设置 HTMLEditorExtender HTML

    我无法让它工作 这是我在另一个线程中找到的代码 但它对我不起作用 我得到 set content 不是函数 find set content whatever 这仍然有效吗 我还尝试设置它扩展的文本框的值 尝试设置两者的 InnerHtml
  • JavaScript 计算从今天到 7 天前的日期

    我正在计算从今天开始的日期前 12 天 但它不会返回正确的日期 例如 对于今天的日期 11 11 2013 mm dd yyyy 它返回 10 30 2013 而它应该返回 10 31 2013 这是代码 var d new Date d
  • 如何使用 Angularjs 检查模块中的指令或控制器是否可用

    在 angularjs 中 给定一个模块 如何检查给定一个模块是否存在指令 控制器 我有一个模块 我想知道是否已加载某些特定指令 下面是一些示例代码 var module angular module myModule check if c
  • d3js v5 + Topojson v3 关于加入 csv 和 json 的优化

    为了制作地图 我需要将一些值从 csv 导入到 json直接在代码中 为了加载 json 和 csv 文件 我使用 Promise 对象的异步操作 并使用两个循环和一个公共键在 json 文件上添加新属性 for var i 0 i lt
  • 过滤文件上传仅用于文本文件

    我使用的是 Firefox 版本 14 0 1 我需要过滤上传文件窗口以仅显示 txt files 我的浏览器不仅仅支持文本文件 text plain 我可以通过指定此格式来限制图像文件 image 但我只需要过滤文本文件在文件选择器窗口中
  • 如何让 jQuery 选择带有 . (句号)在他们的身份证件中?

    给定以下类和控制器操作方法 public School public Int32 ID get set publig String Name get set public Address Address get set public cla
  • ChartRangeFilter 作为谷歌时间轴图表的缩放功能,可使用数据视图从专用谷歌电子表格中读取数据

    我的目标是整合Whitehat 提供的这种缩放功能 https stackoverflow com questions 49306638 google timeline visualization dont change series ro
  • 在网站的一次导航中仅显示一次弹出窗口

    我有一个使用 Laravel 创建的网站 我希望用户第一次访问我的网站时能够看到弹出窗口 我的意思是第一次 用户访问我网站上的任何页面 这是第一次 访问网站上的一些链接页面 现在 这些页面访问不是第一次 在同一选项卡中打开 facebook
  • 如何在不知道id的情况下从内页获取父iframe元素?

    让我们想象一下我有这样的东西 div div test html 是空页面 自定义hash属性始终具有不同的值 出于安全原因两个页面位于同一域 iframe 元素的数量和顺序是随机的 我的问
  • 点击事件的事件处理程序自动触发 - jQuery [重复]

    这个问题在这里已经有答案了 可能的重复 为什么单击事件处理程序会在页面加载后立即触发 https stackoverflow com questions 7102413 why does click event handler fire i
  • 在 jQuery 中获取最接近元素的形式

    我编写了这个 js jquery 脚本来检查表单中的所有复选框 它工作得很好 但是这会检查页面上的所有复选框 无论它们是什么表单包装器 这是函数 function toggleCheck state var checkboxes jQuer
  • ajaxStart 和 ajaxStop 与 fetch API 等效

    我正在尝试将 API 调用从使用 jQuery ajax 迁移到使用 Fetch API 我使用 jQuery ajaxStart 和 ajaxStop 在服务器调用期间显示加载旋转器 我正在运行多个并行服务器请求 我希望旋转器在第一个请求
  • 当来自 Mozilla Firefox 和 MS Edge 上的剪贴板时 Alpha 会变成黑色

    我正在使用代码从这里 https stackoverflow com a 15369753 5875416将剪贴板中的图像粘贴到页面上 它在所有浏览器 Chrome Firefox Edge 和 Opera 中都能正常工作 问题是 当图像是
  • 在 JSON 对象中存储和发送原始文件数据

    我正在寻找一种方法来传输任何文件类型的原始文件数据和任何可能的内容 我的意思是文件和文件内容都是用户生成的 在 Backbone 前端中使用 xhr ajax 调用两种方式针对 Django 后端 编辑 也许问题仍然不清楚 如果您在 IDE

随机推荐