##1.1 Array对象 ##
1.1.1定义数组的两种方式
var arr1=[2,3,4];
var arr2=new Array(2,3,4);
console.log(arr1);
console.log(arr2);
1.1.2 获取的数组的长度
arr.length
1.1.3 数组的个数
//i是数组的下标,是从0开始的
arr[i]
1.1.4 数组的添加和删除元素
var arr=[2,3,4];
//后面添加元素
arr.push(5);
//前面添加元素
arr.unshift(1);
// 删除后面元素
arr.pop();
// 删除前面元素
arr.shift();
1.1.5 合并数组
//前面的四种方法原数组都发生改变了后面的拼接原来的数组没有变化
//var arr1=[1,2,3];
//var arr2=[4,5,6];
//console.log(arr1.concat(arr2));
//console.log(arr1);
//console.log(arr2);
1.1.6 数组变成字符串
//数组拼接成字符串
var arr=["01","张三","100"];
console.log(typeof (arr.join(",")));
console.log(arr.join("||"));
1.1.7数组倒序排列
var arr=["k","a","t","o"];
arr.reverse();
console.log(arr);
1.1.8数组倒序排列
var arr2=[60,10,100];
arr2.sort(function fn(a,b){
//从小到大
return a-b;
});
console.log(arr2);
1.1.9数组删除指定元素
var arr=["tom","jack","jerry"];
// splice的三个参数分别代表是截取开始的索引 截取的个数以及要替换的元素
// arr.splice(1,1,"tihuan");
arr.splice(1);
console.log(arr);
##1.2 String对象 ##
1.2.1 字符串的长度
//var str="hello";
//字符串的长度
//console.log(str.length);
1.2.2 字符串的拼接
//字符串的拼接
//console.log(str.concat(name));
1.2.3 字符串的替换
//字符串的替换
//console.log(str.replace(/e/,"a"));
1.2.4 字符串分隔成数组
//var str="hello world tom";
//console.log(str.split(""));
//console.log(str.split(" "));
1.2.5 字符串的截取
var str="abcdefg";
console.log(str.slice(2,4));
console.log(str.substring(2,4));
//前两个的两个参数都是分别开始的索引和结束的索引 包左不包右
//substr的两个参数分别是截取开始的索引和截取的个数
console.log(str.substr(2,4));
1.2.6字符串通过索引找字符
//var str="helloworld";
//console.log(str.charAt(4));
1.2.7 字符串通过索引找字符
//var str="helloworld";
//console.log(str.indexOf("o"));//4
//console.log(str.lastIndexOf("r"));
// 看字符串中是否有指定字符 如果有返回>=0的索引 如果没有返回-1
var result=str.indexOf("b");
console.log(result);
if(result>=1){
alert("这个字符在长字符串中存在");
}else if(result==-1){
alert("这个字符串不存在");
}
1.2.8 字符串变大写
//str.toUpperCase();
1.2.9 字符串变小写
//str.toLowerCase();
练习1
已知有字符串foo=”get-element-by-id”,写一个function将其转化成驼峰表示法”getElementById”。
var foo="get-element-by-id";
function combo(msg){
var arr=msg.split("-");//[get,element,by,id]
for(var i=1;i<arr.length;i++){
arr[i]=arr[i][0].toUpperCase()+arr[i].substring(1);//Element
}
msg=arr.join("");//msg=” getElementById”
return msg;
}
combo(foo)
练习2
var numberArray = [3,6,2,4,1,5];实现对该数组的降序排列,输出[6,5,4,3,2,1]
function sortDesc(arr) {
for (var i = 0, len = arr.length; i < len; i++) {
for (var j = i + 1, len2 = arr.length; j < len2; j++) {
//>就是降序<就是升序
if (arr[j] >arr[i]) {
var temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
return arr;
}
##1.3 Math对象 ##
求2的3幂
console.log(Math.pow(2,3));//8
// 四舍五入
console.log(Math.round(0.6));//1
//向上求整
console.log(Math.ceil(0.4));//1
console.log(Math.ceil(-0.4));//0
向下取整
console.log(Math.floor(0.6));//0
console.log(Math.floor(-0.6));//-1
求绝对值
console.log(Math.abs(-5));
求最大值
console.log(Math.min(2,5,10));
求最小值
console.log(Math.max(2,5,-10));
求随机数 [0,1)
console.log(Math.random());
求圆周率 没有小括号
console.log(Math.PI);
求平方根
console.log(Math.sqrt(4));
求立方根
console.log(Math.pow(27,1/3));
##1.4 Date对象 ##
1.4.1 Date对象的定义
date对象的定义 获得电脑上的实际日期时间
var date=new Date();
获得指定的日期时间
var date=new Date("2017-4-11 12:15:10");
1.4.2获得时间戳的几种方式
var date1 = Date.now();
var date2 = +new Date();
var date3 = new Date().getTime();
var date4 = new Date().valueOf();
console.log(date1);
console.log(date2);
console.log(date3);
console.log(date4)
1.4.3获得年月日时分秒
var date=new Date();
// 获取年份
console.log(date.getFullYear());
// 获取月份 0-11
console.log(date.getMonth());
// 获取天数 1-31
console.log(date.getDate());
// 获取星期几 0-6
console.log(date.getDay());
// 获取小时 0-23
console.log(date.getHours());
// 获取分钟数 0-59
console.log(date.getMinutes());
// 获取秒数
console.log(date.getSeconds());
// 获取毫秒
console.log(date.getMilliseconds());
// 获取现在距离1970年1月1日的毫秒数
console.log(date.getTime());
##1.5 练习1 ## 在页面输出距离十一还有多长时间
function fn(){
var date=new Date();
var target=new Date("2019-10-1 00:00:00");
var now=date.getTime();
var tar=target.getTime();
var juli=tar-now;
// console.log(juli/1000);
//目前总共有这些毫秒 要兑换成秒 分 时
var ss=parseInt(juli/1000);
var s=parseInt(ss%60);
var m=parseInt(ss/60%60);
var h=parseInt(ss/60/60%24);
var d=parseInt(ss/60/60/24);
var box=document.getElementById("box");
box.innerHTML="还剩"+d+"天"+h+"小时"+m+"分"+s+"秒";
}
setInterval(fn,1000);
1.6 练习2
用js实现随机选取10–100之间的10个数字,存入一个数组,并排序。
var iArray = [];
funtion getRandom(istart, iend){
var iChoice = istart - iend +1;
return Math.floor(Math.random() * iChoice + istart;
}
Math.random()就是获取0-1之间的随机数(永远获取不到1)
for(var i=0; i<10; i++){
var result= getRandom(10,100);
iArray.push(result);
}
iArray.sort();
1.7练习3
把两个数组合并,并删除第二个元素。
var array1 = ['a','b','c'];
var bArray = ['d','e','f'];
var cArray = array1.concat(bArray);
cArray.splice(1,1);