filter和sort

  1.trim()

   trim() 函数返回去掉开头和结尾空格后的字符串。

var str='        hello world   ';
console.log(str);
var a = str.trim();
console.log(a);

indexOf()
indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。

var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />")
document.write(str.indexOf("World") + "<br />")
document.write(str.indexOf("world"))
//

0
-1
6

2.fliter()
它用于把Array的某些元素过滤掉,然后返回剩下的元素(据返回值是true还是false决定保留还是丢弃该元素)。
eg1找出奇数
var arr=[1,2,3,4,5,6,7,8];
var res=arr.filter(function(x){
  return x%2!==0;
})
console.log(res);

eg2删掉空字符串
var arr=['hello','',undefined,null,'world'];
var res=arr.filter(function(s){
  return s&&s.trim();
})
console.log(res);

eg3 输出1到100之间的素数
function get_primes(arr) {

return arr.filter(function(ele){
if(ele==1){
return false;
}
if(ele==2){
return true;
}
for(var i=2;i<=(ele/2);i++){
if(ele%i==0){
return false;
}
}
return true;
})


}
var x, r, arr = []; for (x = 1; x < 100; x++) { arr.push(x); } r = get_primes(arr); if (r.toString() === [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97].toString()) { alert('测试通过!'); } else { alert('测试失败: ' + r.toString()); }
3.sort 排序 
对于两个元素xy,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1。
  但是!!!
  如果数组的元素是数字,则默认将数字转成字符串,先比较数字的第一位(13和2,对比,先比较‘1’和‘2’,所以13小于2);
  如果数组元素是其他字符,则按ASCII码进行比较(A<a)

eg1 按数字大小排序

var arr=[10,15,25,3,2];
arr.sort(function(x,y){
  if(x<y){
    return -1;
  }
  if(x>y){
  return 1;
  }
  return 0;
});
console.log(arr);

 

eg2 数字排倒序

var arr=[10,15,25,3,2];
arr.sort(function(x,y){
  if(x<y){
    return 1;
  }
  if(x>y){
  return -1;
  }
  return 0;
});
console.log(arr);

 

eg3忽略大小写,按照字母序排序

var arr=['ZebrA','hippO','Penguin'];
arr.sort(function(s1,s2){
  x=s1.toLowerCase();
  y=s2.toLowerCase();
  if(x<y){
    return -1;
  }
  if(x>y){
    return 1;
  }
return 0;
});
console.log(arr);

如果想验证输出的数组还是原来的数组,可以将代码改为:

var arr=['ZebrA','hippO','Penguin'];
arr1=arr.sort(function(s1,s2){
  x=s1.toLowerCase();
  y=s2.toLowerCase();
  if(x<y){
    return -1;
  }
  if(x>y){
    return 1;
  }
return 0;
});
console.log(arr1);
console.log(arr===arr1)






































posted @ 2017-09-06 17:03  梦溪回  阅读(221)  评论(0编辑  收藏  举报