charCodeAt(); 英文/字符排序。参数为0,表取数组里的第一个字符并将它转换为Unicode编码如a为97.
拼音字符和汉字排序
<script>
var str="az";
console.log(str.charCodeAt(0));
console.log("一".charCodeAt(0).toString(16)); //转为16进制的unicode编码
var arr=["zhangsan","lisi","Eileen"];
arr.sort(function (a,b){
return a.charCodeAt(0)-b.charCodeAt(0);
});
console.log(arr);
</script>
String.formCharCode(); 将Unicode编码转换为字符或汉字,参数为unicode编码。
A-Z:65-90 a-z:97-122
数字字母混合的四位验证码。先打印1-9、A-Z、a-z再sort随机乱数
<script>
var arr=[];
for(var i=0;i<123;i++){
if(i<10){
arr.push(i);
continue;
}
if(i<65) continue;
if(i<91) {
arr.push(String.fromCharCode(i));
continue;
}
if(i<97) continue;
arr.push(String.fromCharCode(i));
}
arr.sort(function(){
return Math.random()-0.5;
});
arr.length=4;
console.log(arr3.join(""));
</script>
forEach(); 有三个参数。
修改产品的数量随机,求出每个产品的总价
<script>
var data=[
{id:1001,name:"餐饮1",num:1,price:10},
{id:1002,name:"餐饮2",num:1,price:20},
{id:1003,name:"餐饮3",num:1,price:30},
{id:1004,name:"餐饮4",num:1,price:40},
{id:1005,name:"餐饮5",num:1,price:50},
{id:1006,name:"餐饮6",num:1,price:60},
{id:1007,name:"餐饮7",num:1,price:70},
{id:1008,name:"餐饮8",num:1,price:80},
{id:1009,name:"餐饮9",num:1,price:90},
];
data.forEach(function(item){ //item参数指数组的每一项
item.num=parseInt(Math.random()*9 + 1);
item.sum=item.num*item.price;
});
console.log(data);
</script>
map(); map遍历。与forEach相似,具备forEach的所有功能。map和forEach的区别:forEach遍历当前数组,没有返回值,不会返回新数组
map遍历当前数组,并且将当前数组中的元素返回给新数组,不使用return时,新数组的长度与原数组相同,但是每个元素都是undefined。
<script>
var arr=[1,2,4,8,3,5,6];
arr=arr.map(function(t){
if(t%2===0){
return t+1; //不能用break,会报错,因为break只能用在循环或switch中,if不是循环
}
return t; //如果不返回,则未返回的数据就会变成undefined
});
console.log(arr);
</script>