首页 > 编程知识 正文

js的compare方法(js compare)

时间:2023-12-03 20:09:14 阅读:311929 作者:YIJN

本文目录一览:

  • 1、JavaScript怎么实现字符串不区分大小写的判断
  • 2、js中用localeCompare()方法 比较字符串时,只比较第一个字符?
  • 3、JS中数组重排序方法
  • 4、js比较两个日期大小

JavaScript怎么实现字符串不区分大小写的判断

//js方法

String.prototype.compare = function(str)

{

//不区分大小写

if(this.toLowerCase() == str.toLowerCase())

{

   return true; // 正确

}

else{

   return false; // 错误

}

}

//调用

alert("ABCDefg".compare("abcdEFG"));

js中用localeCompare()方法 比较字符串时,只比较第一个字符?

不是只比较首字母,

先比较第一个,

如果第一个String对象按照字母顺序排在参数的字符串之前,则返回负数,不再继续向下比较;

如果第一个String对象按照字母顺序排在参数的字符串之后,则返回正数,不再继续向下比较;

如果第一个String对象按照字母顺序与参数的字符串顺序相同,则继续向下比较,直到出现上面两种情况(按照不同情况返回不同值),或者全部的字符顺序都相同(则是String对象等于参数中的字符串,此种情况返回0)

alert("abb".localeCompare("bbb");

//先比较第一个字符“abb”中的a在“bbb”中的b之前,所以返回-1

alert("bbb".localeCompare("abb"));

//先比较第一个字符“bbb”中的b在“abb”中的a之后,所以返回1

alert("abb".localeCompare("acb"));

//先比较第一个字符:“abb”中的a与“acb”中的顺序相同,则继续向下比较,在比较第二个字符:“abb”中的第二个字符为b 在“acb”中的第二个字符c之前,所以返回-1,不在向下比较

alert("acb".localeCompare("aca"))

//返回值为1

alert("abb".localeCompare("bab"));

//返回值为-1

补充一下:这个比较原理,其实是按照ASCII码进行比较的,如果进行比较的String对象相应字母的ASCII码的值小于参数中相应字母的ASCII码值,则返回负数;大于则返回正数;等于则返回0;

学习笔记,如有错误,还请多多指教!

JS中数组重排序方法

1.数组中已存在两个可直接用来重排序的方法:reverse()和sort()。

reverse()和sort()方法的返回值是经过排序后的数组。reverse()方法会反转数组项的顺序:

var

values=[1,2,3,4,5];

values.reverse();

alert(values);

//5,4,3,2,1

在默认情况下,sort()方法按升序排列数组,sort()方法会调用每个数组项的toString()转型方法,然后比较得到字符串,确定如何排序。即使数组中的每一项都是数值,sort()方法比较的也是字符串:

var

values

=

[0,1,5,10,15];

values.sort();

alert(values);

//0,1,10,15,5

因此,sort()方法可以接收一个比较函数作为参数。

function

compare(value1,value2){

if

(value1

value2){

return

-1;

}else

if

(value1

value2){

return

1;

}else{

return

0;

}

}

此比较函数可适用于大多数数据类型,只要将其作为参数传递给sort()方法即可:

var

values

=

[0,1,3,7,9,15];

values.sort(compare);

alert(values);

//0,1,3,7,9,15

也可通过比较函数产生降序排序,只需交换函数返回值即可:

function

compare

(value1,

value2){

if

(value1value2){

return

1;

}else

if

{

return

-1;

}else{

return

0;

}

}

sort()函数的排序条件是:

参数大于0,arr的相邻两个元素交换位置;

参数小于0,arr的相邻两个元素不交换位置;

参数等于0,arr的相邻两个元素大小相等;所以compare自定义函数必须返回一个数值。

2.对于数值类型或者valueOf()方法会返回数值类型的对象类型。

可使用一个更简单的比较函数。此函数只要第二个值减第一个值即可。

function

compare

(value1,value2){

return

value2

-

value1;

}

以上所述是小编给大家介绍的JS中数组重排序方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

js比较两个日期大小

思路:

先都转换成日期。然后再用毫秒数进行比较。

下面是简单的例子:

function tab(date1,date2){

    var oDate1 = new Date(date1);

    var oDate2 = new Date(date2);

    if(oDate1.getTime()  oDate2.getTime()){

        console.log('第一个大');

    } else {

        console.log('第二个大');

    }

}

tab('2015-10-10','2015-10-11');

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。