实现一个函数 isSimilar,对比两个字符串是否相似,相似返回 true,不相似返回 false。相似的定义是:字符串包含的字符种类以及每种字符的个数均相等。
比如:

console.log(isSimilar('something', 'ginhtemos')); // true
console.log(isSimilar('aaa', 'aa'));  //false
console.log(isSimilar('abb', 'baa'));  //false
console.log(isSimilar('hello', 'olelh'));  //true

实现思路:
● 定义 isSimilar 函数,接收两个待比较的字符串参数
● 如果两个字符串完全相等则返回 true
● 如果传入的参数类型不是字符串返回 false
● 否则定义 conversion 函数,统计两个字符串中字符的个数
● 最后通过 comparsion 函数,比较两个字符串中相同字符的个数是否相等
这里是完整代码,赶紧收藏吧

function isSimilar(str1, str2) {if (str1 === str2) {return true;} else if (typeof str1 != "string" || typeof str2 != "string") {return false;} else {var conversionStr1 = conversion(str1);var conversionStr2 = conversion(str2);return comparsion(conversionStr1, conversionStr2);}
}function conversion(str) {var jsonobj = {};var strArray = str.split("");for (var i = 0; i < strArray.length; i++) {if (jsonobj[strArray[i]]) {++jsonobj[strArray[i]];} else {jsonobj[strArray[i]] = 1;}}return jsonobj;
}function comparsion(obj1, obj2) {var sortObjKey1 = Object.keys(obj1);var sortObjKey2 = Object.keys(obj2);if (sortObjKey1.length !== sortObjKey2.length) {return false;} else {for (var key in obj1) {if (obj1[key] !== obj2[key]) {return false;}}return true;}
}

实现一个函数 isSimilar,对比两个字符串是否相似相关推荐

  1. (14)写一个函数,将两个字符串连接

    写一个函数,将两个字符串连接 程序分析:用户在控制台输出第一个字符串后按下回车键继续输出下一个字符串.需要加上getchar()读取换行符,若不进行处理程序会将换行符也连接到新的字符串中. #incl ...

  2. 两个字符串连接程序C语言,写一个函数,将两个字符串连接。 C语言

    写一个函数,将两个字符串连接. 以下是此题的[c源代码],需要[c++源代码]请点击进入 #include int main() {void concatenate(char string1[],ch ...

  3. 本题要求实现一个函数,将两个字符串连接起来。(strcat)函数实现

    函数接口定义: char *str_cat( char *s, char *t ); 函数str_cat应将字符串t复制到字符串s的末端,并且返回字符串s的首地址. 裁判测试程序样例: #includ ...

  4. 编写一个函数,实现两个字符串的连接功能

    代码实现: 1 #include<iostream> 2 using namespace std; 3 void con(char a[],char b[]) 4 { 5 int i,j, ...

  5. C++ - 给出一个函数来连接两个字符串A和B,其中字符串A的后几个字节和字符串B的前几个字节重叠

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! /*这种 ...

  6. 写一函数,将两个字符串中的元音字母复制到另一个字符串,然后输出。

    写一函数,将两个字符串中的元音字母复制到另一个字符串,然后输出. #include<stdio.h> #include<string.h> char f(char a[],ch ...

  7. 写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为int strcmp(char * p1 ,char * p2); 设p1指向字符串s1, p2指向字符串s2。要求当s1=s2

    写一函数,实现两个字符串的比较.即自己写一个strcmp函数,函数原型为int strcmp(char * p1 ,char * p2); 设p1指向字符串s1, p2指向字符串s2.要求当s1=s2 ...

  8. c语言两个字符串比较,将两个字符串s1和s2比较,如果s1s2,作业 - 编一个程序,将两个字符串s1和s2比较,如果.doc...

    作业 - 编一个程序,将两个字符串s1和s2比较,如果 作业(第一次) 求下面表达式的值: x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7 (float)(a+b)/2+( ...

  9. 编写一个程序,比较两个字符串s1和s2

    编写一个程序,比较两个字符串s1和s2(C语言) 题目要求:编写一个程序,比较两个字符串s1和s2.若s1>s2,输出一个正数:若s1=s2,输出0:若s1<s2,输出一个负数.不要用st ...

  10. C语言strcmp()函数:比较两个字符串

    C语言 strcmp() 函数用于对两个字符串进行比较(区分大小写). 头文件:#include <string.h> 语法/原型: int strcmp(const char* stri ...

最新文章

  1. 【撸啊撸 Docker】搭建 Jenkins
  2. SAP Commerce Cloud(原Hybris) impex 里的美元(dollar $)符号
  3. [GCJ] Qualification Round 2017
  4. PhoneGap开发环境搭建
  5. 计算机开机出现ROM,电脑无法开机提示exiting pxe rom的解决办法
  6. 在肉鸡上构建一个完美的虚拟主机
  7. CBoard 0.4.2环境搭建
  8. 中兴新支点操作系统_中兴发国产操作系统新支点,好不好用测了才知道
  9. java程序写一个数的平方根_Java程序查找给定数字的平方根
  10. 云计算工程师必备技能
  11. 为什么海底捞员工很少离职
  12. 常用单片机模块(五)
  13. Ubuntu 设置搜狗输入法 Win+空格 Win+Space切换
  14. Google开源的Deep-Learning项目word2vec处理中文
  15. 把backtrader改造成金融强化学习回测引擎
  16. 白话机器学习算法理论+实战番外篇之LightGBM
  17. 移动端之在不同尺寸大小的手机上展示同一效果解决方案(修正二) by FungLeo
  18. 一文读懂数据挖掘的技术和应用
  19. web页面调用打印机不预览直接执行打印
  20. gopro7怎么回看视频_要案解读:IPTV限时回看不侵犯信息网络传播权

热门文章

  1. 大数据公司Civis Analytics获220万美元A轮融资
  2. 高项(2023年5月)——资源管理
  3. vue this.$set 方法
  4. ubuntu下修改硬盘名字和开机挂载硬盘
  5. 4K 10bit和8bit有什么区别
  6. 企业邮箱注册申请,国内哪家企邮最好用?
  7. linux安装influxdb-rpmyum方式
  8. 零基础语法入门第十四讲副词
  9. 入学计算机水平考试,2017级本科新生计算机水平入学考试要点
  10. access计算机二级考点,计算机二级access操作题考点总结.pdf