• JS——内置对象之字符串对象例题解析


    文章目录

    • 前言
    • 一、统计并呈现字符串中重复字符出现的字符以及出现的次数
    • 二、判断某字符串是否为回文字符串。
    • 三、去除某字符串中的重复字符
    • 四、去除某字符串中的全部数字
    • 总结

    一、统计并呈现字符串中重复字符出现的字符以及出现的次数

    1.解析:

    • 此题的解决思路大致是,我们需要的结果是类似 key: value形式的键值对,例如——出现最多的字符:出现的次数,所以可以利用到我们之前学习的对象解决这个问题。
    • 依据上诉,可以声明一个对象,随后遍历所要查询的字符串,将每个字符推入到对象中,而对象属性的追加方式除了前文阐述的内容,还可以以   对象名【‘属性名'】的形式读取该对象中某个属性的属性值。
    • 判断该对象中是否有该字符,也就是该属性,如果有就把他的出现次数  +1,若没有则说明此字符是第一次出现在该对象中,则赋值为1即可
    • 最后再次遍历对象,取出出现次数最多的属性名以及属性值即可

    2.js实现过程:

    二、判断某字符串是否为回文字符串

    1.解析:

    回文字符串是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文字符串。

    2.js实现过程:

    方法一:通过翻转后的字符串与初始的字符串进行对比

    1. // 方法一:
    2. // 定义一个变量接收用户输入字符串
    3. var str = window.prompt('请输入一个字符串:');
    4. // 定义一个空的字符串
    5. var other = '';
    6. // 判断是否是回文字符串
    7. for (var i = str.length; i >= 0; i--) {
    8. other += str.substr(i, 1);
    9. }
    10. if (str === other) {
    11. console.log('是回文字符串!');
    12. } else {
    13. console.log('不是回文字符串!');
    14. }
    15. console.log(other);

    方法二:利用字符串与数组的相关api 解决问题

    1. // 定义变量接收用户输入的数据
    2. var str = window.prompt('请输入任意一个字符串:');
    3. // 定义名为 changeStr 的函数
    4. function changeStr(str){
    5. var result = str.split('').reverse().join('');
    6. // true 则为回文数, false 则不是
    7. return str === result;
    8. }
    9. // 调用函数 changeStr
    10. console.log(changeStr(str));

    三、去除某字符串中的重复字符

    1.解析

    可定义一个空字符串,利用indexOf判断该字符串中是否含有被遍历的字符串中的每一个字符

    2.js实现过程:


    四、去除某字符串中的全部数字

    1.解析

    首先也是要遍历字符串,然后通过方法判断该字符串遍历到的每一个字符是否为数字即可

    2.js实现过程:

    方法一:

    通过判断该字符的字符编码,我们知道字符串中的每一个字符在ASCII码集中都有对应的码值,例如数字 0-9 所对应的码值就是   48-57,可根据这个条件判断该字符是否为数字

    1. // 定义变量接收用户输入字符串
    2. var str = window.prompt('请输入一个字符串:');
    3. var other = '';
    4. // 声明名为 delnumber 的函数
    5. function delnumber(str1) {
    6. for (var i = 0; i < str1.length; i++) {
    7. // 获取每一个字符的 ASCII码值
    8. var a = str1.charCodeAt(i);
    9. // 判断该字符是否是数字
    10. if (!(a > 48 && a < 57)) {
    11. other += str1[i];
    12. }
    13. }
    14. return other;
    15. }

    方法二:通过正则表达式判断

    在正则表达式中  /[0-9]/g     / /是正则表达式的格式,【0-9】表示的是数字  0-9,  g表示的全局匹配,也就是说在整个字符串中进行查找

    1. // 声明一个变量接收用户输入字符串
    2. var str = window.prompt('请任意输入一串字符:');
    3. // 声明一个名为 delNumber 的函数
    4. function delNumber(str) {
    5. // 遍历字符串
    6. for (var i = 0; i < str.length; i++) {
    7. // 通过正则表达式判断,若该字符不是数字,则用空格替换。
    8. var result = str.replace(/[0-9]/g, '');
    9. }
    10. return result;
    11. }

    方法三:通过isNaN函数进行判断该字符是否为数字。

    1. // 声明一个变量接收用户输入数据
    2. var str = window.prompt('请任意输入一个字符串:');
    3. // 声明一个名为 delNumber 的函数
    4. function delNumber(str){
    5. var other ='';
    6. // 遍历字符串
    7. for(var i=0;ilength;i++){
    8. if(isNaN(str[i])){
    9. other +=str[i];
    10. }
    11. }
    12. return other;
    13. }
    14. //调用函数 delNumber
    15. console.log(delNumber(str));

    总结

    以上就是今日所要分享的内容,最后依旧诚挚祝福屏幕前的你健康幸福、平安喜乐。拜~

  • 相关阅读:
    微信小程序 nodejs+vue社区疫情防控系统
    【ZSH】zsh自定义命令行提示符
    Linux应用程序崩溃了怎么定位?
    Java之日期相关
    unicode汉字编码转化
    人脸动作迁移——基于DaGAN深度感知的生成对抗网络操作对口型数字人
    vscode配置调用visual studio的编译和调试环境
    JavaSE成神之路 - 使用IDE开发Java程序
    全量知识系统 详细程序设计 之“编程理念”(Q&A SmartChat)
    【接口测试】Postman(二)-Postman Echo
  • 原文地址:https://blog.csdn.net/Bonsoir777/article/details/126402531