- Array
- String
- Math
- Date
数组
//两种创建方式
//1
var colors=new Array("red","green","blue","orange");
var nums=new Array(3);
console.log(colors); //(4) ["red", "green", "blue", "orange"]
//2
var temps=[1,2,3,4];
console.log(temps); //(4) [1, 2, 3, 4]
//----------------------------------
var chaos=["aasd",11,'asd',13.0,NaN];
console.log(chaos);
console.log(chaos[2]);//'asd' 数组支持随机访问
chaos[100]='ends';
console.log(chaos.length); // 101 没有越界情况!!!
//数组方法 栈方法
//push 向数组末尾添加元素 返回数组长度
//对应unshift 添加到首部
var colors=new Array("asd","blue");
var d=colors.push("ahula!");
console.log(colors);
console.log(d);
//pop shift 返回被删除的值
var del1=colors.shift();
var del2=colors.pop();
console.log(del1);
console.log(del2);
//转换与重排序
//数组转换成字符串
var colors=new Array("red","green","orange");
var str=colors.join();
console.log(typeof str +" --> "+str);//string --> red,green,orange
//产生的字符串不包括逗号
var str2=colors.join(''); //string --> redgreenorange
//数组反转
var colors=new Array("red","green","orange");
colors.reverse();
console.log(colors);//(3) ["orange", "green", "red"]
//数组排序
//字符大小排序
console.log(colors.sort()); //(3) ["green", "orange", "red"]
//数值大小排序
console.log(nums.sort(function(a,b){return a-b}));
//数组连接 concat
var arr1=['a','b','c','d'];
var arr2=['2','c','f','n'];
var arr3=arr1.concat(arr2,"ends");
console.log(arr3); //(9) ["a", "b", "c", "d", "2", "c", "f", "n", "ends"]
//数组截取 slice(start,end); start必须,可为负数。
var arr1=['a','b','c','d'];
var arr2=['2','c','f','n'];
var arr3=arr1.slice(0);
console.log(arr3); // (4) ["a", "b", "c", "d"]数组复制
//注 数组复制 arr3=[].concat(arr2);
var arr4=arr1.slice(-1);
console.log(arr4); // ['d'] 最后一个值
//splice 删除(start,n); 插入(start,0,ele1...elen);
var arr1=['a','b','c','d','m'];
var arr2=['2','c','f','n'];
console.log(arr1.splice(2,2)); //返回被删除的元素
console.log(arr2.splice(1));
arr1.splice(1,0,'aaa');
console.log(arr1.splice(1,0,'aaa')); //[] splice返回空数组(删除掉的元素为空);
console.log(arr1);// (6) ["a", "aaa", "b", "c", "d", "m"]
//综合两者即可实现替换。
indexOf(search_val,start_index) //返回索引位置 未找到返回-1
var arr1=['a','b','c','ins','c','d','m'];
var arr2=['2','c','f','n'];
console.log(arr1.indexOf('c')); //2
字符串
charAt() 和charCodeAt()
var str="Hello world!";
console.log(str.charAt(7));
console.log(str.charAt(70)); //无返回值
console.log(str.charCodeAt('H')); //返回ASCII编码
console.log(str.indexOf(' ')); //5 返回第一个字符下标 找不到返回-1
console.log(str.lastIndexOf('l'));
截取方法
str.slice(start,end); end可取 [start,end) 左闭右开
参数为负数 则加上字符串长度
str.substring();
碰到负数 转换为零
会自动转化大小数的位置
str.substr(start,len);
start为负数时,加上其字符串长度
len可选 为负数时 截取空字符串
var str="Hello world!";
str1=str.slice(0,2);
console.log(str1); //He
console.log(str); //Hello world!
console.log(str.substring(-1,2));//He
console.log(str.substring(-2,-23));// null
console.log(str.substr(-2,2)); //d!
console.log(str.substr(-200,2)); //He 负数绝对值太大时,直接从头开始
字符串实列:获取文件名
var name='abc.txt';
var sit=name.indexOf('.');
console.log(name.substring(0,sit));
console.log(name.slice(0,sit));
str.split(separator) 将字符串分割成数组 返回Array
separator 分割符
str.replace(regexp/substr,replacement) 只会替换碰到的第一个!
var str='welcome-to-vecation';
var arr1=str.split('-');
console.log(arr1); //(3) ["welcome", "to", "vecation"]
var arr2 = str.replace('-', ' ');
console.log(arr2); //welcome to-vecation
toUpperCase() toLowerCase()
var str = 'welcome-to-vecation';
console.log(str.toUpperCase());//WELCOME-TO-VECATION
实例:将字符串中的首字母转换成大写
var str = 'welcome-to-vecation';
// console.log(str.toUpperCase());//WELCOME-TO-VECATION
var arr1=str.split('-');
var arr2=[];
var str3="";
for(var i=0;i<arr1.length;i++){
strtemp=arr1[i];
var newstr=strtemp.charAt(0).toUpperCase()+strtemp.substring(1);
//str3+=strtemp.charAt(0).toUpperCase()+strtemp.substring(1);
arr2.push(newstr); //()函数 []数组下标
console.log(newstr);
}
console.log(arr2);
var str2=arr2.join("");
console.log(str2);