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") + "")document.write(str.indexOf("World") + "")document.write(str.indexOf("world")) // 0
-16
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 排序 对于两个元素x和y,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1。 但是!!! 如果数组的元素是数字,则默认将数字转成字符串,先比较数字的第一位(13和2,对比,先比较‘1’和‘2’,所以13小于2); 如果数组元素是其他字符,则按ASCII码进行比较(A
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)