字符串的方法
字符串方法 | 用法 |
---|---|
toString() | 转字符串的方法 |
indexOf(字符) | 返回字符索引位置 检测不到返回-1;第二个参数是起始查找位置(包含该起始位置) |
lastindexOf(字符) | 从右往左检测 |
concat() | 拼接字符串的方法 返回拼接后的字符串 |
repalce(原值,替换之后的字符) | 替换字符串的方法 只能替换相同字符串的第一个 |
search(要查找的字符) | 返回字符索引位置 没有其他参数 es6 |
charAt(索引) | 返回索引对应的字符 |
charcodeAt(索引) | 返回索引对应的字符的ascii码值 |
n.charAt(i); for(key in n) for循环 | 字符串的遍历 |
split() | 转换为数组的方法 不写数组之间不隔开 split("") 以逗号隔开 |
slice(起始索引,终止索引) | 截取字符串的方法 写索引 取小不取大 返回截取的字符串 |
substr(起始索引,长度) | 截取字符串的方法 返回截取字符串 原字符串不发生变化 |
substring(起始索引,终止索引stop) | 截取字符串的方法 返回截取字符串 原字符串不发生变化 |
toUpperCase() | 转化为大写 |
toLowerCase() | 转化为小写 |
具体用法请看如下代码
字符串的方法
//字符串类型的数字转化为数字
parseInt("123"); // 123 转化整型
parseFloat("99.9"); //99.9 转化为浮点型
console.log(parseInt("98¥")); //98
//数字类型转换为浮点型
var a = 123;
a.toString(); //"123"
//字符串检测字符的方法
var str = "abcdefa";
// indexOf 一个参数 从左到右返回该字符第一个索引位置 没有则返回-1;
console.log(str.indexOf("a")); //0
//有两个参数 第一个参数 要找的字符 第二个参数 起始查找的位置
console.log(str.indexOf("a", 3)); // 从第三个索引开始查找 包含第三个索引
// lastindexOf 从右到左查找 功能和indexOf一样
console.log(str.lastIndexOf("a"));
console.log(str.lastIndexOf("a", 3)); //从右往左
//拼接字符串的方法 concat
// 拼接字符串 可以用+ 号拼接 concat
// 返回拼接之后的字符串
var m = "hjkl";
console.log(str.concat(m));
var k = "12335";
console.log(str.concat(m).concat(k));
//字符串的替换方法 replace
//第一个参数 要替换的字符
//第二个参数 替换的值
console.log(str.replace("f", 0));
//有相同字符 只能替换相同字符第一个
console.log(str.replace("a", "m"));
//全部替换需要用到正则表达式
console.log(str.replace(/\a/g, 0));
// 查找字符的方法 search
// 参数直接写字符 返回当前字符的索引位置 如果没有返回-1 //没有参数可选
console.log(str.search("a")); // 相同字符也只能返回第一个
//ascii 值和字符之间的相互转化
var s = "a";
// charAt() 参数写索引
// charCodeAt 参数当前字符的索引
console.log(s.charAt(0)); // charAt 返回该索引对应的值
console.log(s.charCodeAt(0)); //charcodeAt 返回该索引位置对应值的ascii值
//字符串的遍历
//charAt 根据索引 在字符串里面取字符
var n = "abcdefgh";
for (var i = 0; i < n.length; i++) {
console.log(n.charAt(i));
}
for (key in n) {
console.log(key); // 返回的是索引
console.log(n.charAt(key)); //返回的是索引对应的值
//字符串转化为数组的方法
// split 将字符串转换为数组 参数写以什么符号隔开
var s1 = "abcdefgh";
console.log(s1.split()); //不写参数默认数组中间不加任何字符
console.log(s1.split(" ")); //写空字符串 默认以逗号隔开
//字符串截取方法 slice()
// 参数取索引 取小不取大
//原字符串不受影响
var k1 = "abdcfdhv";
console.log(k1.slice(0, 3)); //返回的是截取的字符 不写第二个参数默认截取所有
console.log(k1);
// substr 第一个参数是起始索引 第二个参数是截取长度
console.log(k1.substr(0, 3));
console.log(k1); // 原字符串不受影响
substring 参数是索引取小不取大
console.log(k1.substring(0, 4)); //不写第二个参数默认截取所有
console.log(k1); // 原字符串不受影响
//大小写字符串转化
var s2 = "ABCefgh";
console.log(s2.toLowerCase()); //转化为小写
console.log(s2.toLocaleLowerCase());
console.log(s2.toUpperCase()); //转化为大写
console.log(s2.toLocaleUpperCase());
//字符串里面获取每一位
var s3 = "abc";
console.log(s3.charAt(0));
console.log((s3[0])); //数组取值方法 也可以根据索引返回字符
// 字符串内置对象
var c1 = "abc";
console.log(s1);
// new 创建一个实例 new对象
var str2 = new String(c1);
console.log(str2);
var c3 = new String("abcde");
console.log(c3);
// 检测类型 typeof new创建的返回的是对象
// instanceof 检测类型 返回true 和 false
var c4 = "zxc";
var c5 = new String(c4);
// instanceof 检测类对象的构造函数
console.log(c4 instanceof String); //false
console.log(c5 instanceof String); // true
数组的方法
数组方法 | 用法 |
---|---|
join() | 转化为字符串的方法 参数写拼接之间的符号 |
reverse() | 翻转数组的方法 |
slice() | 返回截取的数组 参数是索引 取小不取大 原数组不发生改变 |
splice() | 返回截取的数组,参数1是索引,二是长度,原数组发生改变 |
concat() | 数组拼接 |
every() | 检测数组里面每一位是否满足条件 满足返回true 不满足返回false |
filter() | 数组过滤 返回过滤出满足条件的数组 |
find() | 根据条件检测数组每一个值 直接返回满足条件的第一个的值 |
findIndex() | 根据条件检测数组每一个值 直接返回满足条件的第一个值的索引 |
includes() | 检测数组里是否包含某个值 返回true false |
Array.isArray() | 检测当前对象是否为数组 返回true false |
map() | 映射数组的方法 功能写一半是遍历 将数组映射成一个新的数组 |
totle() | 第一位 累计数组 |
reduce() | 从左到右累计数组的方法 |
reduceRight() | 从右到左累计 |
pop() | 删除数组中的最后一位 返回的是删除的值 原数组发生改变 |
shift() | 删除数组中的第一个元素 返回的是删除的值 原数组发生改变 |
push() | 添加数组元素 追加到数组元素之后 |
unshift() | 添加数组元素 追加到数组元素之前 |
arr.toString() | 将数组转化为字符串 |
sort() | 对原数组进行排序 |
some() | 检测满足条件的值 返回true 和false 有满足一位条件即可 |
具体用法请看如下代码
var arr = new Array(); //实例化一个数组对象
console.log(arr);
// 数组赋值 在对象括号里面直接写值
var arr1 = new Array(2); //写一个值表示数组的长度
console.log(arr1);
var arr2 = new Array(1, 2, 3) // 多个值存入
console.log(arr2);
//数组取值 数组索引
console.log(arr2[0]);
console.log(arr2.length); // lengeth 返回数组长度
// 数组里面的方法
//join 数组转化为字符串的方法 将数组每一位拼接 参数写拼接之间的符号
var s = [1, 2, 3, 4, 3];
console.log(s.join()); // 默认不写转化字符串用逗号隔开
console.log(s.join("")); // 中间为空
console.log(s.join("&")); //1&2&3&4&3
//reverse() 翻转数组的方法
// 翻转后对原数组有影响
var a1 = [1, 2, 3, 4, "a"]
console.log(a1.reverse()); //返回的是翻转后的数组
console.log(a1); //原数组已经发生改变
//数组的截取方法
// slice() 返回截取的数组 参数是索引 原数组不受影响
var a2 = [1, 2, 3, 4, 5];
console.log(a2.slice(0, 3)); //取小不取大
//数组截取方法 splice() 第一个参数起始索引 第二个参数 截取几个长度 返回截取的数组
// 对原数组有影响
console.log(a2.splice(0, 3)); //返回截取的数组
console.log(a2); //原数组已经发生变化
// concat() 拼接数组
var h1 = [1, 2, 3];
var h2 = [4, 5, 6];
console.log(h1.concat(h2));
// every() 检测数组里面的值 是否满足条件
// 检测数组里面的每一位 是否满足条件 满足true 不满足false
var array = [2, 6, 3]
console.log(array.every(function(currentValue, index, arr) {
return currentValue % 2 == 0; //false
}));
//filter() 数组过滤 参数1 回调函数 参数2 可选 写参数返回数组
var arr3 = [1, 2, 3, 4, 5, 6];
console.log(arr3.filter(function(cvalue, index) {
console.log(this)
return cvalue % 2 == 0; // 返回值 过滤出符合条件的数组
}, arr3));
//find 根据条件 检测每一个元素值 遇到满足条件的一个值 直接返回不会继续执行
var t1 = [1, 2, 3, 4, 5, 6];
console.log(t1.find(function(current, index) {
return current % 2 == 0; //遇到满足的直接返回
}));
//findeIndex 根据条件 返回满足条件的第一个值的索引 直接返回 不会再执行
console.log(t1.findIndex(function(current, index) {
return current % 2 == 0;
}));
//数组的遍历
//for
// for in
//forEach
var t2 = [1, 2, 3, 4, 5, 6, 7, 8];
t2.forEach(function(current, index, arr) {
console.log(current);
})
//includes 检测数组里面是否包含某个值 返回true false
console.log(t2.includes(5)); //true
console.log(t2.includes(9)); //false
// Array.isArray() 检测当前对象是否为数组
// isArray() 是数组类对象的方法
// t2.isArray() 报错 isArray is not a function
//返回值 true false
console.log(Array.isArray(t2)); //true
//映射方法 map 将一个数组转换为一个新的数组
// map 功能写一半就是数组的遍历
console.log(t2.map(function(current, index) {
return current * 2; //返回是一个新数组
}))
//累计方法
//totle 数组的第一位
// reeduce 从左到右累计
// reduceRight 从右到左累计
var t3 = [2, 1, 3, 5, 4];
console.log(t3.reduce(function(totle, current, index) {
console.log(totle, current);
return totle + current; //totle 累计值
}));
// reduce 从左到右
console.log(t3.reduce(function(totle, current, index) {
console.log(totle, current);
return totle + current;
}));
// reduceRight 从右到左累计
console.log(t3.reduceRight(function(totle, current, index) {
console.log(totle, current);
return totle + current;
}));
// pop()删除数组里面的元素
// pop()删除数组中的最后一位 返回值是删除的值
// 原数组发生改变
var arr5 = [1, 2, 3, 4];
console.log(arr5.pop()); //返回值是4
console.log(arr5); //原数组发生改变
//shift() 删除数值中的第一个元素 返回的是删除的值
//原数组发生改变
console.log(arr5.shift()); // 删除了1
console.log(arr5);
//push()给数组里面添加值,追加到数组之后,括号里写要追加的值
var arr6 = [1, 2, 3, 4, 5, 6, 7];
arr6.push(8);
// console.log(arr6.push(8)); //返回数组的长度
console.log(arr6);
//unshift() 追加到数组之前
arr6.unshift(0);
// console.log(arr6.unshift(0)); // 返回数组的长度
console.log(arr6);
// 将数组转化为字符串
var arr7 = [1, 2, 3];
console.log(arr7.toString()); //1,2,,3
//sort() 对原数组排序 默认从小到大
var arr3 = [1, 4, 2, 5, 3];
console.log(arr3.sort()); //从小到大 只能对个位数进行排序
//调整排序方式
console.log(arr3.sort(function(a, b) {
return b - a;
}));
//some() 检测满足条件的值 返回true 和false
var arr8 = [1, 2, 3, 4];
console.log(arr8.some(function(current, index) {
return current % 2 == 0;
}));