Array
创建数组的基本方式有两种:
使用Array构造函数
- 语法:new Array()
- 例子: var num = new Array();
使用数组字面量表示法
- 例子:var colors = ["red","yellow"];
- 获取数组长度:arr.length
数组的栈和队列方法:
- push() 添加
- pop() 删除并返回数组最后一元素
- unshift() 添加到数组的最前面
- shift() 删除并返回数组第一个元素
var colors = new Array();var count = colors.push("red","green","orange");console.log(count); //3var item = colors.pop(); //取得最后一项 orangeconsole.log(item); console.log(colors.length); //2var colors = new Array();var count = colors.unshift("red","green");count = colors.unshift("black"); //添加到数组第一个元素console.log(colors);var item = colors.shift(); //取得第一项 blackconsole.log(item); console.log(colors.length); //2
- 将数组转换为字符串:join() 语法:arr.join(separator)
var words = ["border","left"];var wordstr = words.join();console.log(wordstr); //结果为:border,left join()默认是逗号隔开var wordstr = words.join("-");console.log(wordstr); //结果为:border-left
- 反转数组顺序:arr.reverse()
var values = [1,2,3,4,5];var newValues = values.reverse();console.log(newValues);
- 数组排序:arr.sort();
var arr = [9,5,45];arr.sort(function(a,b){return b-a}); //降序arr.sort(function(a,b){return a-b}); //升序
- 连接两个或多个数组:concat()
var arr1 = ["a","b"], arr2 = ["c","d"], arr3;arr3 = arr1.concat(arr2);console.log(arr3);
- 从已有的数组中返回选定的元素:arr.slice(start,end)
var colors = ["red","green","blue"];var newColors = colors.slice(1,2);console.log(newColors); //结果输出 greenvar newColors = colors.slice(0);console.log(newColors); //结果输出 ["red","green","blue"]var newColors = colors.slice(-1,3); //负数 + 数组长度console.log(newColors); //结果输出 blue
splice()方法删除数组项、插入数组项、替换数组项
- 删除
语法:arr.splice(index,count)
- 删除
var arr = ["a","b","c"];var delArr = arr.splice(1,1);console.log(delArr); //返回 b
- 插入
语法:arr.splice(index,0,item1,..intemX) 起始位置,要删除的项数,要插入的项
var arr = ["a","b","c"];var insertArr = arr.splice(3,0,"m");console.log(arr); //["a","b","c","m"]
- 替换
var arr = ["a","b","c"];var replaceArr = arr.splice(1,2,"x","y");console.log(replaceArr); //["b","c"]console.log(arr); //["a","x","y"]
ECMAScript为数组实例化添加的两个位置方法:
- indexOf()
语法:arr.indexOf(searchvalue,startIndex) 参数一:必需,要查找的项;参数二:可选,起点位置的索引
- indexOf()
//功能:从数组的开头(位置0)开始向后查找,没有找到的情况下返回-1var nums = [1,2,3,4,5,6];var pos = nums.indexOf(2);console.log(pos); //返回3的位置 2
- lastIndexOf()
var nums = [1,2,3,4,5,2,6];var pos = nums.lastIndexOf(2);console.log(pos); //返回2的位置 5
String
字符方法:
- chartAt()
- charCodeAt()
//访问字符串中的特定字符var str = "hello world";console.log(str.charAt(0)); //返回本身字符 hconsole.log(str.charCodeAt(0)); //返回本身的字符编码 104
字符串操作方法:
- concat()
//用于将一或多个字符串拼接起来,返回拼接得到的新字符串//但实践中使用更多是加号操作符(+)var str = "hello ";var result = str.concat("world");console.log(result); //输出 hello world
- 截取子字符串:slice(start,end)、substring(start,end)、substrr(start,len) len代表返回字符个数
//start:必需,指定子字符串的开始位置 end:可选,表示子字符串到哪里结束var str = "hello world";console.log(str.slice(3)); //lo worldconsole.log(str.substring(3)); //lo worldconsole.log(str.substr(3)); //lo worldconsole.log(str.slice(3,5)); //loconsole.log(str.substring(3,5)); //loconsole.log(str.substr(3,5)); //lo woconsole.log(str.slice(-3)); //rld 负数 + 字符串长度console.log(str.substring(-3)); //hello world 会将所有负值参数都转换为0console.log(str.substr(-3)); //rld console.log(str.slice(3,-4)); //lo wconsole.log(str.substring(3,-4)); //helconsole.log(str.substr(3,-4)); //""(空字符串) 参数一:负数+字符串长度 参数二:转换为0
- 总结:slice()、substr()、substring() 基于字符串创建新字符串的方法,第一个参数指定子字符串的开始位置,第二个参数(在指定的情况下)表示子字符串到哪里结束。slice()和substring()的是子字符串最后一个字符后面的位置。而substr()的第二个参数指定的则是返回字符的个数。如果没有给这些方法传递第二个参数,则将字符串的末尾作为结束位置
字符串位置方法
- indexOf()
- lastIndexOf()
//从一个字符串中搜索给定的子字符串,返回子字符串的位置 // 返回值:数值//如果没有找到该子字符串,则返回-1var email= "marry@163.com";console.log(email.indexOf("@")); //返回 5var email= "marry.mail@163.com";console.log(email.lastIndexOf(".")); //返回 14
- 示例:
//获取扩展名var url = "http://baidu.com/index.txt";function getFileFormat(url){ var pos = url.lastIndexOf("."); return url.substr(pos);}var formatName = getFileFormat(url);console.log(formatName);
- trim()方法
//删除前置及后缀的所有空格var str = " hello world ";var newStr = str.trim();console.log(newStr); //hello world
- 字符串大小写转换
var str = "hello world";console.log(str.toUpperCase()); //大写console.log(str.toLowerCase()); //小写
- 把一个字符串分割成字符串数组:split()
var str = "welcome-to-beijing";var arr = str.split("-");console.log(arr); //输出 ["welcome", "to", "beijing"]
- 在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串:replace()
var str = "cat,bat,sat";var result = str.replace("at","ond");var newResult = str.replace("/at/g","ond"); //替换所有console.log(result); //输出 cond,bat,sat 只是替换第一个
Math
- min()和max()方法
var max = Math.max(1,2,3,4);console.log(max); //4var min= Math.min(1,2,3,4);console.log(min); //1
- 舍入方法 Math.ceil() Math.floor() Math.round()
console.log(Math.ceil(25.6)); //26,向上舍入console.log(Math.round(25.5)); //26,四舍五入console.log(Math.floor(25.6)); //25, 向下舍入
- random()方法
//值 = Math.floor(Math.random() * 可能值的总数 + 第一个可能的值)var num = Math.floor(Math.random() * 10 + 1);console.log(num); //输出1-10之间的数值var num = Math.floor(Math.random() * 9 + 2);console.log(num); //输出2-10之间的数值
Date
- 创建一个日期对象
var now = new Date();
- 日期格式化方法
var now = new Date();console.log(now.toDateString()); //Wed May 01 2019console.log(now.toTimeString()); //11:26:38 GMT+0800 (中国标准时间)console.log(now.toLocaleDateString()); //2019/5/1console.log(now.toLocaleTimeString()); //上午11:26:38console.log(now.toUTCString()); //Wed, 01 May 2019 03:26:38 GMT
- 日期/时间组件方法
set/getFullYear 设置/返回4位数的年份 set/getMonth() 设置/返回月份(0表示一月,11表示十二月)set/getDate() 设置/返回天数(1到31) set/getDay() 设置/返回星期几(0表示星期日,6表示星期六)set/getHours() 设置/返回小时(0到23) set/getMinutes 设置/返回分钟数(0到59)set/getSeconds 设置/返回秒数(0到59)
第一次尝试着写,写得不好的地方,请多多指教