字符串方法,js的string和array对象

一、字符串的方法
1.字符串类型转化为数字类型
parseInt(“123”);//123
parseFloat(“98.9”) //98.9
parseInt(“98¥”)//98

2.数字类型转字符串类型
var a = 123;
a.toString();//“123”

3.在字符串检测字符的方法
var str = “abcdefa”;
indexOf(从左-右查找)lastindexOf(从右-左)
1.一个参数
如果存在 返回该字符的索引位置 反之 -1
console.log(str.indexOf(“a”));
2.两个参数
两个参数 1要找的字符 2.其实查找的索引位置
console.log(str.indexOf(“a”, 3));

4.拼接字符串
1.可以使用+ 进行字符串拼接
2.使用concat ( 返回时拼接之后的字符串)
var m = “kljh”;
console.log(str.concat(m));
var k = “123df”;
console.log(str.concat(m).concat(k));

5.字符的替换方法
1.要替换的字符
2.替换的值
console.log(str.replace(“f”, 0));(replace 只能使用替换字符串里面相同字符中的一个)
下面是正则查找(全局替换)
console.log(str.replace(/\a/g, 0));

6.查找字符方法search
参数直接写字符 返回的是当前字符的索引位置 如果没找到返回-1
console.log(str.search(“a”));
console.log(str.search(/\a/g));(可以使用正则查找)

7.ascii 值和 字符之间的相互转化
var s = “a”;
charCodeAt 参数当前字符的索引 字符转化为ascii
console.log(s.charCodeAt(0));
ascii 值转化为字符
console.log(String.fromCharCode(97));//a

8.字符串的遍历
charAt 根据索引 在字符串里面取字符
charCodeAt 根据索引 获取字符 转化为ascii
var n = “abcdefgh”;
for (var i = 0; i < n.length; i++) {
console.log(n.charAt(i));
console.log(n.charCodeAt(i));
}
for (var key in n) {
console.log(n.charAt(key));
}

9.字符串转化为数组的方法
split 将字符串转化为数组 参数是以什么符号隔开
var s1 = “abcdefg”;
console.log(s1.split(""));

10.字符串里面的截取方法
var k1 = “abcdefgh”;
slice 参数是索引 取小不取大
console.log(k1.slice(0, 3), k1);
substring 参数是索引 取小不取大
console.log(k1.substring(0, 4), k1);
substr 参数是起始索引 + 截取的长度
console.log(k1.substr(0, 4), k1);

11.字符串去空的方法
var user = " a b c d e f ";
trim() 默认只能去除一个空格
console.log(user.trim());
如果要全去除 使用正则
console.log(user.replace(/\s/g, “”));

12.大小写字符串转化
var s2 = “ABCdefg”;
console.log(s2.toLocaleLowerCase());
console.log(s2.toLowerCase());
console.log(s2.toUpperCase());
console.log(s2.toLocaleUpperCase());
13.字符串里面获取每一位
var s3 = “abc”;
console.log(s3.charAt(0));
console.log(s3[0]); //这种方式 数组取值的方法 也可以根据索引获取字符

二、String 内置对象 也是字符串
var s1=“abc”;
console.log(s1);
声明一个新的字符串 new 创建一个实例 new对象
var str=new String(s1);
console.log(str);
var s2=new String(“abcdefg”);
console.log(s2);
上面这种字符串类对象 获取字符
console.log(s2[0]);

遍历
for(var index in s2)
{
//console.log(s2[index]);
//console.log(s2.charAt(index));
console.log(s2.charCodeAt(index));
}

检测类型
console.log(typeof s2); //object
console.log(typeof s1); //string
常规定义的字符串 是原始值 使用new String 创建的字符串 是对象型
var m=“abc”;(string)
var m1=new String(m);(object)
console.log(m==m1);//true
console.log(m === m1);//false string object
//valueof 返回原始值
console.log(m1.valueOf());
//instanceof 这个方法其实是检测类对象的构造函数(函数),检测类型 返回值是true flase
console.log(m1 instanceof String); //true

三、内置对象 数组 Array 数组里面存值不限类型
1.如何创建数组
使用new 创建
//标准写法
var arr = new Array();//实例化一个数组对象
console.log(arr);
//简单写法
var array = [];
console.log(array);

建立完数组之后如何往数组里面赋值
在对象的括号里面直接写的值 注意参数的个数
写一个值 指数组的长度
写多个值 才是数组里面的值
var arr1 = new Array(1);
console.log(arr1);//数组的长度是1 还是空数组
var arr2 = new Array(1, 2, 3, 4, 5);
console.log(arr2);//输入多个值

数组的取值 数组里面存储值 是按照 key:value
console.log(arr2[0]);
console.log(arr2[1]);
console.log(arr2[2]);
console.log(arr2[3]);

给数组某个索引位赋值
arr2[0] = “a”;
console.log(arr2);

数组里面的属性
length 返回数组的长度
var s = [1, 2, 3, 4, 5];
console.log(s.length);

数组里面的方法
join 将数组的每一位进行拼接 参数是符号
将数组转化为字符串的方法
console.log(s.join(""));

数组翻转的方法,翻转之后对原数组有影响
console.log(s.reverse());

数组的截取方法
slice splice
slice 截取数组 返回截取的值 参数是索引 取小不取大 对原数组没有影响
console.log(s.slice(0, 3), s);//543
splice 截取数组 参数 起始索引 截取几个长度 返回值是截取的结果 对原数组有影响
console.log(s.splice(0, 3), s);

concat 拼接数组
var a1 = [1, 2, 3];
var a2 = [4, 5, 6];
console.log(a1.concat(a2));

将数组里面某一个拷贝到另一个位置
var str = [“a”, “b”, “c”, “d”];
copyWhithin 第一个数放的位置 第二个数起始复制位置 第三个数终止复制位置
str.copyWithin(2, 0, 1);
console.log(str);

下面这个是es6 语法
entries() 方法 返回的是数组的迭代器
console.log(str.entries());
for(var key of str.entries())
{
console.log(key);
}

every() 检测数组里面的值 是否满足条件
检测数组里面的每一位 是否满足条件 满足 true 不满足就是false
var array = [2, 6, 3];
console.log(array.every(function (currentValue, index, arr) {
return currentValue % 2 == 0;
}));

fill 使用固定值 填充数组中的某一位
fill 方法的参数 1.要填充的值 2.start 3.end(如果只写一个参数 默认全部填充)
console.log(array.fill(“name”, 1, 2));

数组的过滤
filter 参数 1.必须 回调函数
2、可选 传递给回调函数的this
var arr2 = [1, 2, 3, 4, 5, 6];
console.log(arr2.filter(function (cvalue, index) {
console.log(this);
return cvalue % 2 == 0;
}, ));

find 根据条件找满足条件的
检测每一个元素值 遇到满足条件的一个值 直接返回该值 不会再执行
var t1 = [1, 2, 3, 4, 5];
console.log(t1.find(function (current, index) {
return current % 2 == 0;
}));

findIndex 根据条件 返回满足条件的第一个元素值的索引( 返回值是满足条件的索引)
console.log(t1.findIndex(function (current, index) {
return current % 2 == 0
}));

数组的遍历
for
for in
forEach
var t2 = [1, 2, 3, 4, 5, 6, 7];
t2.forEach(function (current, index, arr) {
console.log(current);
});

检测数组里面是否包涵某个值 true false
console.log(t2.includes(5));

indexOf 检测数组里面的某个值 返回索引
找不到该值 返回-1 和字符串的indexOf 方法功能一致 lastindexOf 也一致
console.log(t2.indexOf(9));

检测当前的对象是否是数组
isArray() 是数组类对象的方法返回值 true false
console.log(Array.isArray(t2));

映射方法 map 将一个数组映射为一个新的数组
map 功能写一半 就是 数组遍历
console.log(t2.map(function (current, index) {
//映射
return current * 2;
}));

累计方法
reduce 从左-右累计
reduceRight 从右-左 累计
var t3 = [2, 1, 3, 5, 4];
console.log(t3.reduce(function (totle, current, index) {
console.log(totle, current);
return totle + current;
}));
console.log(t3.reduce(function (totle, current, index) {
console.log(totle, current);
return totle * current;
}));
console.log(t3.reduceRight(function (totle, current) {
console.log(totle, current);
return totle * current;
}));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值