摘要:indexOf 查找字符串 返回索引值 查找当前字符串的索引值 从左到右第一次出现的位置 如果没有找到返回-1 第二个参数表示 从第几个字符串后面开始找

脚本宝典收集整理的这篇文章主要介绍了

js实例教程-javascript学习之字符串方法、数组方法介绍

脚本宝典小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助你少写一行代码,多一份安全和惬意。

小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

字符串方法2

indexOf 查找字符串 返回索引值 查找当前字符串的索引值 从左到右第一次出现的位置 如果没有找到返回-1 第二个参数表示 从第几个字符串后面开始找

 var str ="124590"   console.log(str.indexOf("9"));

结果是4

 var str ="124590"   console.log(str.indexOf("a"));

返回值是-1

 var str ="124590"   if(str.indexOf("1")){       console.log("能找到");   }else{       console.log("不能找到");   }

结果是不能找到 如果用if做判断 要让索引值判断是否大于-1

 var str ="124590"   if(str.indexOf("1")>-1){       console.log("能找到");   }else{       console.log("不能找到");   }
 var str ="1234590"   console.log(str.indexOf("4",3));

结果是3 从第三个字符串往后找 返回的是字符串

 var str ="1234590"   console.log(str.indexOf("3",3));

结果是-1

lastIndexOf 从右往左找 返回该字符串的索引值

 var str ="1234590"   console.log(str.lastIndexOf("9"));

结果是5

3.substring 返回一个字符串 第一个数字表示索引值 然后从该代表的字符串包括改字符串截取 字符数(个数) 的字符 和substr一样

 var str ="abcdefg";   console.log(str.substring(0,4));//4代表从a包括a开始截取四个字符

结果是abcd 如果不写第二个参数就是截取到最后

slice 当第二个参数是正数时和substring一样 不同的是 第二个参数可以写负数 表示截取到倒数第几个

 var str ="abcdefg";   console.log(str.slice(0,4));

结果是abcd

 var str ="abcdefg";   console.log(str.slice(0,-2));

结果是abcde

5.split 将字符串按照 指定的分隔符 切割成数组 第一个参数为标识符 第二个参数为切割个数 如果分隔符出现在字符串的开始或结尾,分别以空字符串开头,结尾

 var str ="abcdefg";   console.log(str.split(""));

结果是["a", "b", "c", "d", "e", "f", "g"]

 var str ="hello world how are you";   console.log(str.split(" "));

结果是["hello", "world", "how", "are", "you"]

 var str ="hello world how are you";   console.log(str.split(" ",2));

结果是["hello", "world"]

 var str= "helloworldnihao";   var str2=str.split("o");   console.log(str2);   console.log(str2.join("o"));

第一个结果是["hell", "w", "rldniha", ""] 第二个结果是helloworldnihao

6.trim 清空两侧的空格

 var str =" 你好 ";   console.log(str.trim());

会清空两侧的空格 如果中间有空格不会清除 可用于input输入框

数组方法

改变原数组

shift:将第一个元素删除并且返回删除元素,空即为undefined

unshift:向数组开头添加元素,并返回新的长度

pop:删除最后一个并返回删除的元素

push:向数组末尾添加元素,并返回新的长度

reverse:颠倒数组顺序

sort:对数组排序

splice:splice(start,length,item)删,增,替换数组元素,返回被删除数组,无删除则不返回

不改变原数组

concat:连接多个数组,返回新的数组

join:将数组中所有元素以参数作为分隔符放入一个字符

slice:slice(start,end),返回选定元素

map,filter,forEach,some,every等不改变原数组

创建数组

var arr = [];?字面量

var arr = new Array(1,2,3);构造函数?var arr = new Array(5)结果是[empty × 5]length: 5__proto__: Array(0)创建空数组 数组长度为5

var arr = Array(1,2);?内建函数

length 可读可写 第二个参数可以写负数

 var arr = [1,2,3,4,5,6,7,8];   delete  arr[0];   console.log(arr.length);

结果是8 留了个空位

 var arr = [1,2,3,4,5,6,7,8];  var arr =[];   console.log(arr);

该操作 直接把一个新的空数组的地址 付给了arr 原有的数组不存在了

 var arr = [1,2,3,4,5,6,7,8];   arr.length =0;//可以改变   console.log(arr);

这样就变成空数组

indexOf 没有的为-1

 var arr = [1,2,3,4,5,6,7,8];   console.log(arr.indexOf(6));

结果是5

 var arr = [1,2,3,4,5,[3],6,7,8];   console.log(arr.indexOf([3]));

结果为-1 没有数组[3] 是因为[3]不等于[3]

基本类型和引用类型

数值 字符串 布尔值 undefined null 可以直接写出来 比较简单的数据为基本类型 在比较的时候是直接按照值比较

对象 函数 数组 复杂的数据 按照值和地址比较

 var a=[3]  a存的是[3]的地址并不是她本身  可以通过这个地址找到【3】 var b =[3]  b不等于a
 var a =[];//a存的是空数组的地址   var b=a;//将a的地址赋值给b   a==b;

是a与b相等的

 function t(stu) {       stu.name ="lily";//此时stu和x指向同一个对象  按照地址 找到对象  改变名字       stu = {name:"wangwu"};   }   var stu ={name:"lisi"};//stu存的是地址   t(stu);//传的是一个引用   console.log(stu.name);  重新赋值  和x没有关系

结果是lily

 var lisi =[3];//手动存地址   var arr = [1,2,3,4,5,lisi,7,8];   console.log(arr.indexOf(lisi));

结果是5

 var lisi =[3];   var arr = [1,2,"3",4,5,lisi,7,8];   console.log(arr.indexOf(3));

结果是-1 找不到

 var lisi =[3];   var arr = [1,2,"3",4,5,lisi,7,8];   console.log(arr.indexOf(7,-3));

结果是6

concat 数组的拼接 返回一个新的数组 存储的是引用类型为地址

 var arr =[1,2,3,4,5];   var arr1 = [6,7,8];   var arr2 = arr.concat(arr1,arr1);   console.log(arr2);

结果是[1, 2, 3, 4, 5, 6, 7, 8, 6, 7, 8]

 var lisi ={};   var arr =[1,2,3,4,lisi];   var arr1 = [6,7,8];   var arr2 = arr.concat(arr1);   lisi.age =18;   console.log(arr2);

结果返回{}里面有age 因为lisi存的是一个地址?就算打印在前 改变lisi在后 打印的结果也会发生改变

 var lisi ={};   var arr =[1,2,3,[4]];   var arr1 = [6,7,8];   var arr2 = arr.concat(arr1);   arr[3][0] = 10   console.log(arr2);

结果数组里面的值也变为10

join 数据拼接成字符串 返回新的字符串 不改变原数组 默认用逗号拼接 接受传参为拼接符

 var arr =[1,2,3,4,56];   var str =arr.join();   console.log(str);

结果是1,2,3,4,56

 var arr =[1,2,3,4,56];   var str =arr.join("");   console.log(str);

结果是123456

 var arr =[1,2,3,4,56];   var str =arr.join("+");   console.log(str);

结果是1+2+3+4+56

slice 提取数组的一部分 生成一个新的数组 不改变原有数组 从索引 取到索引 [)

 var arr =[1,2,3,4,56];   console.log(arr.slice(1,2));

结果为2

数组元素的删除和增加

pop 删除数组的最后一个元素 并且改变了原有数组 返回值为删除的那个元素 不能传参

 var arr =[1,2,3,4,5,6];   arr.pop();   console.log(arr);
 var arr =[1,2,3,4,5,6];   console.log( arr.pop());

结果是6

shift 删除数组的第一个元素 改变原数组

 var arr =[1,2,3,4,5,6];   arr.shift();   console.log(arr);

结果删除了1

 var arr =[1,2,3,4,5,6];   console.log(arr.shift());

返回值是1

 var arr =[1,2,3,4,5,6];   arr.shift();   arr.shift();   console.log(arr);

不会报错 删除1 2

push 在末尾添加一个新元素 返回值是新数组的长度

 var arr =[1,2,3,4,5,6];   arr.push(7,8,9); //可以是任意数据类型   console.log(arr);

结果是[1, 2, 3, 4, 5, 6, 7, 8, 9]

 var arr =[1,2,3,4,5,6];  console.log(arr.push(7,8,9));

结果是9

unshift 在开始添加一个新元素 返回值是新数组的长度

 var arr =[1,2,3,4,5,6];  arr.unshift(1,2);  console.log(arr);

结果是[1, 2, 1, 2, 3, 4, 5, 6]

字符串方法2

indexOf 查找字符串 返回索引值 查找当前字符串的索引值 从左到右第一次出现的位置 如果没有找到返回-1 第二个参数表示 从第几个字符串后面开始找

 var str ="124590"   console.log(str.indexOf("9"));

结果是4

 var str ="124590"   console.log(str.indexOf("a"));

返回值是-1

 var str ="124590"   if(str.indexOf("1")){       console.log("能找到");   }else{       console.log("不能找到");   }

结果是不能找到 如果用if做判断 要让索引值判断是否大于-1

 var str ="124590"   if(str.indexOf("1")>-1){       console.log("能找到");   }else{       console.log("不能找到");   }
 var str ="1234590"   console.log(str.indexOf("4",3));

结果是3 从第三个字符串往后找 返回的是字符串

 var str ="1234590"   console.log(str.indexOf("3",3));

结果是-1

lastIndexOf 从右往左找 返回该字符串的索引值

 var str ="1234590"   console.log(str.lastIndexOf("9"));

结果是5

3.substring 返回一个字符串 第一个数字表示索引值 然后从该代表的字符串包括改字符串截取 字符数(个数) 的字符 和substr一样

 var str ="abcdefg";   console.log(str.substring(0,4));//4代表从a包括a开始截取四个字符

结果是abcd 如果不写第二个参数就是截取到最后

slice 当第二个参数是正数时和substring一样 不同的是 第二个参数可以写负数 表示截取到倒数第几个

 var str ="abcdefg";   console.log(str.slice(0,4));

结果是abcd

 var str ="abcdefg";   console.log(str.slice(0,-2));

结果是abcde

5.split 将字符串按照 指定的分隔符 切割成数组 第一个参数为标识符 第二个参数为切割个数 如果分隔符出现在字符串的开始或结尾,分别以空字符串开头,结尾

 var str ="abcdefg";   console.log(str.split(""));

结果是["a", "b", "c", "d", "e", "f", "g"]

 var str ="hello world how are you";   console.log(str.split(" "));

结果是["hello", "world", "how", "are", "you"]

 var str ="hello world how are you";   console.log(str.split(" ",2));

结果是["hello", "world"]

 var str= "helloworldnihao";   var str2=str.split("o");   console.log(str2);   console.log(str2.join("o"));

第一个结果是["hell", "w", "rldniha", ""] 第二个结果是helloworldnihao

6.trim 清空两侧的空格

 var str =" 你好 ";   console.log(str.trim());

会清空两侧的空格 如果中间有空格不会清除 可用于input输入框

数组方法

改变原数组

shift:将第一个元素删除并且返回删除元素,空即为undefined

unshift:向数组开头添加元素,并返回新的长度

pop:删除最后一个并返回删除的元素

push:向数组末尾添加元素,并返回新的长度

reverse:颠倒数组顺序

sort:对数组排序

splice:splice(start,length,item)删,增,替换数组元素,返回被删除数组,无删除则不返回

不改变原数组

concat:连接多个数组,返回新的数组

join:将数组中所有元素以参数作为分隔符放入一个字符

slice:slice(start,end),返回选定元素

map,filter,forEach,some,every等不改变原数组

创建数组

var arr = [];?字面量

var arr = new Array(1,2,3);构造函数?var arr = new Array(5)结果是[empty × 5]length: 5__proto__: Array(0)创建空数组 数组长度为5

var arr = Array(1,2);?内建函数

length 可读可写 第二个参数可以写负数

 var arr = [1,2,3,4,5,6,7,8];   delete  arr[0];   console.log(arr.length);

结果是8 留了个空位

 var arr = [1,2,3,4,5,6,7,8];  var arr =[];   console.log(arr);

该操作 直接把一个新的空数组的地址 付给了arr 原有的数组不存在了

 var arr = [1,2,3,4,5,6,7,8];   arr.length =0;//可以改变   console.log(arr);

这样就变成空数组

indexOf 没有的为-1

 var arr = [1,2,3,4,5,6,7,8];   console.log(arr.indexOf(6));

结果是5

 var arr = [1,2,3,4,5,[3],6,7,8];   console.log(arr.indexOf([3]));

结果为-1 没有数组[3] 是因为[3]不等于[3]

基本类型和引用类型

数值 字符串 布尔值 undefined null 可以直接写出来 比较简单的数据为基本类型 在比较的时候是直接按照值比较

对象 函数 数组 复杂的数据 按照值和地址比较

 var a=[3]  a存的是[3]的地址并不是她本身  可以通过这个地址找到【3】 var b =[3]  b不等于a
 var a =[];//a存的是空数组的地址   var b=a;//将a的地址赋值给b   a==b;

是a与b相等的

 function t(stu) {       stu.name ="lily";//此时stu和x指向同一个对象  按照地址 找到对象  改变名字       stu = {name:"wangwu"};   }   var stu ={name:"lisi"};//stu存的是地址   t(stu);//传的是一个引用   console.log(stu.name);  重新赋值  和x没有关系

结果是lily

 var lisi =[3];//手动存地址   var arr = [1,2,3,4,5,lisi,7,8];   console.log(arr.indexOf(lisi));

结果是5

 var lisi =[3];   var arr = [1,2,"3",4,5,lisi,7,8];   console.log(arr.indexOf(3));

结果是-1 找不到

 var lisi =[3];   var arr = [1,2,"3",4,5,lisi,7,8];   console.log(arr.indexOf(7,-3));

结果是6

concat 数组的拼接 返回一个新的数组 存储的是引用类型为地址

 var arr =[1,2,3,4,5];   var arr1 = [6,7,8];   var arr2 = arr.concat(arr1,arr1);   console.log(arr2);

结果是[1, 2, 3, 4, 5, 6, 7, 8, 6, 7, 8]

 var lisi ={};   var arr =[1,2,3,4,lisi];   var arr1 = [6,7,8];   var arr2 = arr.concat(arr1);   lisi.age =18;   console.log(arr2);

结果返回{}里面有age 因为lisi存的是一个地址?就算打印在前 改变lisi在后 打印的结果也会发生改变

 var lisi ={};   var arr =[1,2,3,[4]];   var arr1 = [6,7,8];   var arr2 = arr.concat(arr1);   arr[3][0] = 10   console.log(arr2);

结果数组里面的值也变为10

join 数据拼接成字符串 返回新的字符串 不改变原数组 默认用逗号拼接 接受传参为拼接符

 var arr =[1,2,3,4,56];   var str =arr.join();   console.log(str);

结果是1,2,3,4,56

 var arr =[1,2,3,4,56];   var str =arr.join("");   console.log(str);

结果是123456

 var arr =[1,2,3,4,56];   var str =arr.join("+");   console.log(str);

结果是1+2+3+4+56

slice 提取数组的一部分 生成一个新的数组 不改变原有数组 从索引 取到索引 [)

 var arr =[1,2,3,4,56];   console.log(arr.slice(1,2));

结果为2

数组元素的删除和增加

pop 删除数组的最后一个元素 并且改变了原有数组 返回值为删除的那个元素 不能传参

 var arr =[1,2,3,4,5,6];   arr.pop();   console.log(arr);
 var arr =[1,2,3,4,5,6];   console.log( arr.pop());

结果是6

shift 删除数组的第一个元素 改变原数组

 var arr =[1,2,3,4,5,6];   arr.shift();   console.log(arr);

结果删除了1

 var arr =[1,2,3,4,5,6];   console.log(arr.shift());

返回值是1

 var arr =[1,2,3,4,5,6];   arr.shift();   arr.shift();   console.log(arr);

不会报错 删除1 2

push 在末尾添加一个新元素 返回值是新数组的长度

 var arr =[1,2,3,4,5,6];   arr.push(7,8,9); //可以是任意数据类型   console.log(arr);

结果是[1, 2, 3, 4, 5, 6, 7, 8, 9]

 var arr =[1,2,3,4,5,6];  console.log(arr.push(7,8,9));

结果是9

unshift 在开始添加一个新元素 返回值是新数组的长度

 var arr =[1,2,3,4,5,6];  arr.unshift(1,2);  console.log(arr);

结果是[1, 2, 1, 2, 3, 4, 5, 6]

觉得可用,就经常来吧!Javascript技巧 脚本宝典 欢迎评论哦! js技巧,巧夺天工,精雕玉琢。小宝典献丑了!

总结

以上是脚本宝典为你收集整理的

js实例教程-javascript学习之字符串方法、数组方法介绍

全部内容,希望文章能够帮你解决

js实例教程-javascript学习之字符串方法、数组方法介绍

所遇到的程序开发问题,欢迎加入QQ群277859234一起讨论学习。如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典网站推荐给程序员好友。 本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。

80%的人都看过