![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
js判断多个字符串是否相等
写一个JS方法,判断多个字符串是否有相等?如:functionisEquals(code1,code2,code3,code4,code5){if((code1!=''&...
写一个JS方法,判断多个字符串是否有相等?
如:function isEquals(code1,code2,code3,code4,code5){
if((code1!=''&&code2!=''&&code1!=null&&code2!=null&&code1==code2)
||(code1!=''&&code3!=''&&code1!=null&&code3!=null&&code1==code3)
||..................){
return '相等'
}else{
return '不相等'
}
}
这样写传入的参数太多时,代码太多,能不能有好点的算法?
比如传数组时,或者其它?? 展开
如:function isEquals(code1,code2,code3,code4,code5){
if((code1!=''&&code2!=''&&code1!=null&&code2!=null&&code1==code2)
||(code1!=''&&code3!=''&&code1!=null&&code3!=null&&code1==code3)
||..................){
return '相等'
}else{
return '不相等'
}
}
这样写传入的参数太多时,代码太多,能不能有好点的算法?
比如传数组时,或者其它?? 展开
2个回答
展开全部
一般使用双等来判断(==),如果还需要类型相同那么就用三等(===)。
说一下这两个的区别:
== equality 等同,=== identity 恒等。
==, 两边值类型不同的时候,要先进行类型转换,再比较。
==,不做类型转换,类型不同的一定不等。
下面分别说明:
先说 ===,这个比较简单。下面的规则用来判断两个值是否===相等:
1、如果类型不同,就[不相等]
2、如果两个都是数值,并且是同一个值,那么[相等]。
3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。
4、如果两个值都是true,或者都是false,那么[相等]。
5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。
6、如果两个值都是null,或者都是undefined,那么[相等]。
再说 ==,根据以下规则:
1、如果两个值类型相同,进行 === 比较。
2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:
a、如果一个是null、一个是undefined,那么[相等]。
b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。
c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。
d、任何其他组合,都[不相等]。
说一下这两个的区别:
== equality 等同,=== identity 恒等。
==, 两边值类型不同的时候,要先进行类型转换,再比较。
==,不做类型转换,类型不同的一定不等。
下面分别说明:
先说 ===,这个比较简单。下面的规则用来判断两个值是否===相等:
1、如果类型不同,就[不相等]
2、如果两个都是数值,并且是同一个值,那么[相等]。
3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。
4、如果两个值都是true,或者都是false,那么[相等]。
5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。
6、如果两个值都是null,或者都是undefined,那么[相等]。
再说 ==,根据以下规则:
1、如果两个值类型相同,进行 === 比较。
2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:
a、如果一个是null、一个是undefined,那么[相等]。
b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。
c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。
d、任何其他组合,都[不相等]。
展开全部
利用 js 里面的动态参数 数组 arguments,
js 传递参数时会把参数保存到 arguments 里面
function isEquals(){
var i, j;
if(arguments.length < 2){
return '至少需要两个字符串';
}
for(i = 0; i < arguments.length; i++){
for(j = i + 1; j < arguments.length; j++){
if(arguments[i] == arguments[j]){
return '相等';
}
}
}
return '不相等';
}
js 传递参数时会把参数保存到 arguments 里面
function isEquals(){
var i, j;
if(arguments.length < 2){
return '至少需要两个字符串';
}
for(i = 0; i < arguments.length; i++){
for(j = i + 1; j < arguments.length; j++){
if(arguments[i] == arguments[j]){
return '相等';
}
}
}
return '不相等';
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询