JS字符串与数组的方法

字符串

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值