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); //3
var item = colors.pop(); // 取得最后一项 orange
console.log(item);
console.log(colors.length); //2
var colors = new Array();
var count = colors.unshift("red","green");
count = colors.unshift("black"); // 添加到数组第一个元素
console.log(colors);
var item = colors.shift(); // 取得第一项 black
console.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); // 结果输出 green
var 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)开始向后查找,没有找到的情况下返回 -1
var 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)); // 返回本身字符 h
console.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 world
console.log(str.substring(3)); //lo world
console.log(str.substr(3)); //lo world
console.log(str.slice(3,5)); //lo
console.log(str.substring(3,5)); //lo
console.log(str.substr(3,5)); //lo wo
console.log(str.slice(-3)); //rld 负数 + 字符串长度
console.log(str.substring(-3)); //hello world 会将所有负值参数都转换为 0
console.log(str.substr(-3)); //rld
console.log(str.slice(3,-4)); //lo w
console.log(str.substring(3,-4)); //hel
console.log(str.substr(3,-4)); //""(空字符串)参数一:负数 + 字符串长度 参数二:转换为 0
- 总结:slice()、substr()、substring() 基于字符串创建新字符串的方法,第一个参数指定子字符串的开始位置,第二个参数(在指定的情况下)表示子字符串到哪里结束。slice() 和 substring() 的是子字符串最后一个字符后面的位置。而 substr() 的第二个参数指定的则是返回字符的个数。如果没有给这些方法传递第二个参数,则将字符串的末尾作为结束位置
-
字符串位置方法
- indexOf()
- lastIndexOf()
// 从一个字符串中搜索给定的子字符串,返回子字符串的位置
// 返回值:数值
// 如果没有找到该子字符串,则返回 -1
var email= "marry@163.com";
console.log(email.indexOf("@")); // 返回 5
var 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); //4
var 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 2019
console.log(now.toTimeString()); //11:26:38 GMT+0800 (中国标准时间)
console.log(now.toLocaleDateString()); //2019/5/1
console.log(now.toLocaleTimeString()); // 上午 11:26:38
console.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)
第一次尝试着写,写得不好的地方,请多多指教