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