JS内置对象
程序员文章站
2024-03-26 10:05:53
...
- Array数组
var colors=new Array(3); var num=new Array(1,2,3); var co=["red",6,true]; colors[0]="red"; console.log(colors[6]); //undefined num.length=2; //保留前两个 num[99]="red"; console.log(num.length);//100 //push加入尾部 unshift加入前面 语法一样 返回加入后数组新长度 var len =num.push("blue","green");//加入到末尾 console.log(len);//加入后数组的长度 //pop删除尾部 shift删除第一个 返回新长度 //join 把数组所有元素放入一个字符串 返回字符串 var num=[1,2,4]; var str="start"; var nstr=num.join(); console.log(nstr); //1,2,4 有逗号 typeof(nstr); //string var words=["bo","mo"]; var nwords=words.join("-");//无逗号,用-分割 //reverse() console.log(num.reverse()); //颠倒 console.log(num.reverse().join("")); //sort console.log(words.sort());//默认按字符串排序 var arr=[2,19-2]; // -2 19 2 console.log(arr.sort(function(a,b){return a>b;})); //从小到大排 //concat多个数组合并成一个 var arr1=[1,23,4,6],arr2=["a","b"],arr3; arr3=arr1.concat(arr2,["e",55]); //slice(start,end) 截取元素 start必须 end可选 console.log(arr1.slice(1));//从下标1到最后 console.log(arr1.slice(1,2));//左闭右开 console.log(arr1.slice(-2,2));//空 console.log(arr1.slice(-2,3));//负数相当于该负数加上数组长度
- 面试题:实现b数组对a数组的拷贝,方法越多越好
var a=[1,"yes",3],b; //1.遍历push for(var i =0;i<a.length;i++) b.push(a[i]); //2.concat b=[].concat(a); //3.slice b=a.slice(0);
- splice
//splice(index,count) 删除,返回被删除的数组元素,count为0不删除 count为空删除index及其后面所有 //删除 var a=[1,"yes",3,4,5,6]; console.log(arr.splice(1)); //删除1及后面所有 console.log(arr.splice(1,0));//不删除 console.log(arr.splice(1,2));//删除yes 3 //插入 a.splice(2,0,"m",7);//将下标为2的元素往后挤 //替换 a.splice(1,2,"x",2,4);//删除yes 3 插入 x 2 4
- indexOf
//indexOf(searchvalue,startIndex) searchvalue为要查找的项,必须 startIndex为查找起点,可选 返回查找项在数组中的位置,未找到返回-1 var a=[1,"yes",3,4,5,6,3]; console.log(a.indexOf(3));//2 console.log(a.indexOf(3,4));//从下标4开始找,返回 //lastIndexOf console.log(a.lastIndexOf(3));
- String 字符串
//charAt charCodeAt var str="hello"; console.log(str.charAt(3));//返回l console.log(str.charCodeAt(3));//返回l的编码 console.log(str.charAt(6));//undefined //indexOf lastIndexOf console.log(str.indexOf("ll");//若无 返回-1 console.log(str.indexOf("o"); //slice console.log(str.slice(1,3)); //左闭右开 console.log(str.slice(1));//从1截取完 console.log(str.slice(-3));//从2截取完 console.log(str.slice(-3,-1));//从2截取到4 //substring console.log(str.substring(-2,5));//substring遇到负数会转成0 console.log(str.substring(5,-2));//substring会自动转换把小的作为起始位置 //substr console.log(str.substr(-2,5)); //第一个参数为负数会加上字符串长度,第二个参数为截取的长度 //split var arr='wewew-dad-werg'; console.log(arr.split('-')); //replace var tel="adad-faf"; console.log(tel.replace('-',' '));
- 实例
//获取扩展名 var url="phone.jpg"; function get(url){ return url.substr(url.lastIndexOf(".")); } console.log(get(url)); //margin-left 改写成驼峰形式 function camel(str){ var arr=str.split("-"),nstr=arr[0]; for(var i=1;i<arr.length;i++){ nstr = arr[i].charAt(0).toUpperCase() + arr[i].substr(1); } return nstr; } console.log(camel("border-left-color"));
- Math
var min=Math.min(5,-4,5,7,"abc");//NaN只要有个非数字就是NaN //ceil floor round abs //生成n到m之间的随机整数公式 random=Math.floor(Math.random()*(m-n+1)+n);
- date
//getFullYear() 返回四位数年份 //getMonth() 返回月份 0-11 //getDate() 返回月份中天数 //getDay() 返回星期0-6 //getHours() 返回小时 //getMinutes() 返回分 //getSeconds() 返回秒 //getTime() 返回表示日期的毫秒数 var today=new Date(), year=today.getFullYear(), month=today.getMonth(), day=today.getDate(); console.log(year); today.setFullYear(2018); console.log(today.getFullYear());//2018 today.setMonth(14); console.log(today.getFullYear());//2019 //50天之后是星期几 today.setDate(today.getDate() +50); console.log(today.getDay()); //创建一个目标日期队形 var temp= new Date(year+2,month,day); console.log( "两年后的今天是:" + temp.getFullYear() + '-' + (temp.getMonth()+1) + '-' + temp.getDate() );