字符串
var s = "李静同学真棒!学的真棒";
- charAt() 找到对应下标的字符
alert(s.charAt(3)); //学
//找到对应下标字符,不兼容IE低版本
alert(s[3]); //学
s[3] = "志";//不可更改
- charCodeAt() 获取对应下标的值的ANSI码值
- String.fromCharCode()获取ANSI码值对应的字符
//用于加密
alert(s.charCodeAt(3)); //23398
alert(String.fromCharCode(23398));//学
- indexOf() 找到对应字符第一次出现的位置
alert(s.indexOf("学")); //3
alert(s.indexOf("同学")); //2
alert(s.indexOf("同 学")); //-1 不存在
alert(s.indexOf("同",4)); //-1 从下标为4的地方开始寻找,后面有就弹对应的序号,没有就弹-1
var s2 = "李静同学真棒!真的!学的真棒";
- lastIndexOf()从后往前找,找到指定字符第一次出现的位置
alert(s2.lastIndexOf("的")); //11
alert(s2.lastIndexOf("的",3)); //-1 从下标为3的位置从后面往前找
- substring()字符串的截取
alert(s2.substring(0,2)) //李静 提取字符串中指定的两个下标之间的字符,不包含后面下标的字符
alert(s2.substring(2)); //同学真棒!真的!学的真棒 从指定下标开始后面的字符都要截取出来
- substr()字符串的截取
var str="Hello world!"
//要抽取的子串的起始下标。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。
document.write(str.substr(3)) //lo world!
//第二个参数为字符串的长度 七个字符
document.write(str.substr(3,7)) //lo worl
- slice() 字符串的截取
alert(s2.slice(3));//学真棒!真的!学的真棒 从指定下标开始后面的字符都要截取出来
alert(s2.slice(3,5)) //学真 从指定下标开始到指定位置结束,不包括结束位置之间的字符,获取两者之间的字符
//从指定下标开始到指定位置结束,不包括结束位置之间的字符,获取两者之间的字符,字符串反过来看是从-1开始的,倒数第二个为-2
alert(s2.slice(3,-2)) //学真棒!真的!学的
- split() 字符串的截取
var s1 = "零位,一叶知秋,苏沐橙,鸣人,佐助";
var arr = s1.split(",");
console.log(arr); //["零位", "一叶知秋", "苏沐橙", "鸣人", "佐助"]
var a = "abcABC";
- toLowerCase()大写转小写
- toUpperCase()小写转大写
alert(a.toLowerCase()) //abcabc
alert(a.toUpperCase()) //ABCABC
- replace() 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
var s = "李静同学真棒!学的真棒";
var newStr = s.replace('同学','老师');
console.log(newStr) //李静老师真棒!学的真棒
- includes() 判断字符串是否包含指定的子字符串
var s = "李静同学真棒!学的真棒";
console.log(s.includes('同学')); // true
console.log(s.includes('校长')); // false
数组
var arr = ["小恶魔","索拉卡",10,20,"龙母"];
- 数组的一些基本操作
alert(arr.length); //5
arr.length = 3;
alert(arr.length); //3 数组的长度可读可写
给大于数组长度的下标添加值:
arr[7] = 90;
console.log(arr);
效果图:
- push() 在数组的末尾添加数据
arr.push("666","雪诺");
console.log(arr); //["小恶魔", "索拉卡", 10, 20, "龙母", "666", "雪诺"]
- unshift() 在数组前面添加数据
arr.unshift("666","雪诺");
console.log(arr); //["666", "雪诺", "小恶魔", "索拉卡", 10, 20, "龙母"]
- pop() 在数组的末尾删除
arr.pop();
console.log(arr); //["小恶魔", "索拉卡", 10, 20]
- shift() 在数组的开头删除
arr.shift();
console.log(arr); //["索拉卡", 10, 20, "龙母"]
- splice() 指定删除
arr.splice(1,3); //第一个数字是指定位置,第二个位置是指定删除几个
console.log(arr); //["小恶魔", "龙母"]
arr.splice(1,3,"断手","淑女") //第一个数字是指定位置,第二个位置是指定删除几个,后面的参数是填补的新的数据
console.log(arr); //["小恶魔", "断手", "淑女", "龙母"]
arr.splice(1,0,"断手","淑女") //不删除,在指定位置添加
console.log(arr); //["小恶魔", "断手", "淑女", "索拉卡", 10, 20, "龙母"]
- slice() (与字符串的截取规则一致)
console.log(arr.slice(2,4)) //[10, 20]
- sort() 数组排序(只针对数字)
var arr2 = [1,2,3,4,5,0,9,8];
arr2.sort(function (a,b){
//return a-b;//从小到大 [0, 1, 2, 3, 4, 5, 8, 9]
//return b-a; //从大到小 [9, 8, 5, 4, 3, 2, 1, 0]
//return 1; //正序 [1, 2, 3, 4, 5, 0, 9, 8]
//return -1; //倒序 [8, 9, 0, 5, 4, 3, 2, 1]
})
arr2.reverse(); //倒序 [8, 9, 0, 5, 4, 3, 2, 1]
console.log(arr2);
- concat() 拼接(返回新数组,不改变原始数组)
var arr1 = [1,2,3];
var arr2 = [5,7,9];
var newArr = arr1.concat(arr2)
console.log(newArr) //[1, 2, 3, 5, 7, 9]
var newArr1 = arr2.concat(arr1);
console.log(newArr1); //[5, 7, 9, 1, 2, 3]
- join() 拼接(将数组内的数据拼接成字符串)
var arr3 = [10,"微笑","success","回忆","金木研"];
var str = arr3.join("-") //可指定用什么符号进行拼接,符号可用可不用
console.log(str); //10-微笑-success-回忆-金木研
- filter() 过滤(把符合条件的过滤出来)
var arr = [12,2,4,3,6,7,0];
var x = arr.filter(function (i){
//i是数组当中的每一个数据
if(!(i%2)){ // 若i为偶数,i%2=0,0是false,不会进入if条件,取反为true,进入if条件。反之,i为奇数。
return true;
}
});
console.log(x); //[12, 2, 4, 6, 0]
- Array.isArray() 判断是否为数组
var arr1 = [1,2,3,4];
var arr2 = "星星";
alert(Array.isArray(arr1)); //true
alert(Array.isArray(arr2)); //false
- includes() 确定数组是否在其条目中包含某个值,返回true或 false
var arr1 = [1,3,6];
console.log(arr1.includes(6)) // true
var arr2 = ['dog', 'cat'];
console.log(arr2.includes('cat')) // true