JavaScript数组与字符串的操作总结
1:字符串中的操作方法总结
-
.length 方法;
//字符串跟数组一样,都有.length方法,用来得到数组的长度,字符串的长度的;道理是一样一样的! 例: var str ="123qwe" console.log(str.length) *注意: 对象没有length* console.log(str[index])//可以打印出对应下标(index)的项,内容,index为数字 //这个地方没有要多说的,凡是看过一点点的应该都知道的,用的比较多,常用于循环之类的!
-
.charAt(index)方法;
//接受一个参数,返回在指定位置的字符。也是从0开始;它里面的参数是必须的;如果不给参数,默认会 返回下标为第零位字符。如果给的下标参数不存在,会返回一个空的字符; 例:var str="abcdef"; console.log(str.charaAt())//a console.log(str.charAt(0))//a console.log(str.charAt(1))//b
-
.charCodeAt()方法;
//跟上面的charAt方法大同小异,区别是charCodeAt方法返回的是指定位置的 Unicode 编码,字 符下标不存在的时候,返回NaN; 例:var str= “abcd你好d”; console.log(str.charCodeAt())//97 console.log(str.charCodeAt(0))//97 console.log(str.charCodeAt(-4))//NaN;
-
.concat()方法;
//用于连接字符串的,用的不是很多,反正我用的不是很多,自我感觉跟"+"差不多吧; 例:var str = "hello"; var str1 = "小苏"; console.log(str.concat(str1))//hello小苏 console.log(str1.concat(str))//小苏hello console.log(str1.concat("最帅")//小苏最帅 console.log(str1.concat([1,2,3]))//小苏1,2,3 console.log(str1.concat({a:1,b:2}))//小苏[object Object] 注意:它把字符串跟数组进行拼接的时候会先把数组字符串化,然后拼接到一起,但是对 象的话,就直接返回字符串[对象];
-
.indexOf()方法;
// 用于检索(查找)字符串中指定的字符首次出现的位置,如果存在返回数组的下标,如果不存在返回-1; 用的还是比较多的 ;它可以接受两个参数,第一个参数是必须的,第二个参数为指定它从第几个查找,非必 须,默认从第0位开始查找的。 例 var str = "abcdefg"; console.log(str.indexOf("c"))//2; console.log(str.indexOf("c",3))//-1;
-
lastIndexOf()方法;
//这个方法是indexOf()的盗版;区别在于一个是从0开始向后面开始查找的,lastIndexOf是从字符串 末尾向前面进行查找 返回值一样,没有返回-1,有返回下标;这里不过多解释;用的不是很多!
-
match()方法;
//match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。我觉得这个方法类似 indexOf() 和 lastIndexOf()的融合版,但是它返回指定的值,而不是字符串的位置。 例:var str = "hello,1,张三,你,2在干嘛4?"; console.log(str.match("张三")+"123")//张三123 console.log(str.match("小苏")+"123") //null123,"由此可见字符串不包含要查找的字符的时候,返回null" console.log(str.match("张三")+"123")//张三123 //匹配正则; //比如我想查出str中的所有的数字 console.log(str.match(/\d+/g))//["1","2","4"]; console.log(str.match(/^img/g))//null replace()
-
replace() 方法;
//replace() 方法用于字符串中指定字符替换成另一些字符;或者替换成符合正则表达式要求的字符, 用的还是蛮多的哦。 例:var str = "hello,1,张三,你,2在干嘛4?"; console.log(str.replace("张三","小苏")); //hello,1,小苏,你,2在干嘛4? console.log(str.replace(/\d+/g,' ').replace("张三","小苏")); //hello, ,小苏,你, 在干嘛 ?
-
slice() – 提取字符串的一部分,并返回一个新字符串,这个方法用的很多。
//slice()是用于字符串的截取,返回截取出来的部分;该函数可接收两个参数,第一个参数是必须的,第 二个参数为可选的;第一个代表从什么地方开始(如果是负数,就从字符串的尾部倒着数),第二个表示什 么地方结束; 例: var str = '123a2wqedas344ewrf'; console.log(str.slice(1,3))//23 console.log(str.slice(-1,str.length))//f console.log(str.slice(1,-3))//23a2wqedas344e
-
split() – 通过将字符串划分成子串,将一个字符串做成一个字符串数组,说白了就是通过指定的字符,然后把字符串转换成字符串数组。
//split 函数用的还是很多的,比如截取url中的参数之类的, 例: var str = 'https://weibo.com/5799312429/profile?rightmod=1&wvr=6 var parameter = str.split("?"); console.log(parameter) //['https://weibo.com/5799312429/profile','rightmod=1&wvr=6'];
-
toLowerCase() – 将整个字符串转成小写字母。
// 例:var str= '123AbcDg'; console.log(str.toLowerCase())//123abcdg
-
toUpperCase() – 将整个字符串转成大写字母。跟上面那个刚好相反;
例:var str= ‘123AbcDg’;
console.log(str.toUpperCase())//123ABCDG
字符串中共十二个方法,如有不全,评论区指出,谢谢
2:数组中的操作方法总结;
-
concat方法,合并多个数组的,不改变原数组;
//用的比较多,用于合并数组,不改变原数组哦; 例:var arr = ["1",2,3]; var arr1 = [4,5,6]; console.log(arr.concat(arr1))//["1", 2, 3, 4, 5, 6];
-
push()方法,用于往数组末尾追加内容,改变原数组的!
//push往数组后面追加项的,改变原数组,用的比较多! 例:var arr = ["1",2,3]; arr.push(4); console.log(arr)//["1",2,3,4]; var arr1 = [4,5,6]; console.log(arr1.push(7))//4 console.log(arr1)//[4,5,6,7];
-
pop()方法,从数组最后面删除一项,改变原数组;
//pop删除数组后面的最后一项 例: var arr = ["1",2,3]; arr.pop(); console.log(arr)//["1",2]
-
shift方法,删除数组中的第一项,
//shift方法是删除数组中的第一项,也就是说删除数组中的第零位 例: var arr = ["1",2,3]; arr.shift(); console.log(arr)//[2, 3]
-
unshift方法,(在开头)向数组添加新元素,并“反向位移”旧元素,改变原数组:
// unshift跟push是相同的,都是往数组里面添加项,一个是在后面添加,一个是往前面添加! 例: var arr = ["1",2,3]; arr.unshift(0); console.log(arr)//[0, "1", 2, 3]
-
join()方法,把数组转换成指定的字符分割的字符串,不改变原数组
//该方法是不改变原数组的,可以指定新的字符串中的间隔符 例: var arr = ["1",2,3]; var str = arr.join(','); console.log(str)//1,2,3 var str1 = arr.join("-") console.log(str1)//1-2-3
-
slice()方法,截取指定位置的数组,返回新的数组,不改变原数组
//这个就是用于数组的截取,里面有两个参数,第一个为起始下标,第二个为截止下标,第二个参数为可选的 如果不填写的话会从指定的位置截取到数组的最后一位,如果是负数则倒着截取! 例: var arr = ["1",2,3,'aa','bb','cc','dd','ee']; console.log(arr.slice(1,3))// [2, 3] console.log(arr.slice(4))//["bb", "cc", "dd", "ee"] console.log(arr.slice(-2))//["dd", "ee"]
-
splice()方法,我认为是数组中比较强大的方法,它可以删除数组中的项,增加新的项等等;
//如果只有一个参数的时候,就从改地方进行截取至数组末尾,如果两个参数的时候,则从第一个参数的位置 开始,截取第二个参数的个数,如果三个以上的参数(包含三个参数),则第一个为起始位置,第二个为删除 个数,第三个及以上为添加的,如果第一个参数为负,则倒着截取,如果俩参数都为负数,会返回空数组的! 该方法改变原数组。 例: var arr = ["1",2,3,'aa','bb','cc','dd','ee']; // console.log(arr.splice(5))// ["cc", "dd", "ee"] // console.log(arr)//["1", 2, 3, "aa", "bb"] // console.log(arr.splice(1,2))//[2, 3] // console.log(arr)// ["1", "aa", "bb", "cc", "dd", "ee"] // console.log(arr.splice(3,arr.length,4,5,"6")); // ["aa", "bb", "cc", "dd", "ee"] // console.log(arr)//["1", 2, 3, 4, 5, "6"] // console.log(arr.splice(-1))//["ee"] // console.log(arr.splice(0,-2));//[]
-
sort()方法,该方法用于数组排序,参数可选可不填,但是填写的参数必须是函数;
//如果不填写参数,则按照字符编码的顺序进行排序,简单理解就是ABC的话通过a-z的顺序去排的。 例:var arr = ["1",2,3,'aa','dd','ee','bb','cc']; arr.sort() // console.log(arr)// ["1", 2, 3, "aa", "bb", "cc", "dd", "ee"] //填写参数的情况下 例:var arr = [1,3,5,4,2,6]; arr.sort(function(a,b){ return a-b }) console.log(arr)//[1, 2, 3, 4, 5, 6]; //a-b的时候,为正序, 例:var new_arr = [1,3,5,4,2,6]; new_arr.sort(function(a,b){ return b-a }) console.log(new_arr)// [6, 5, 4, 3, 2, 1] //b-a时,为倒叙。
-
reverse()方法 ,反转数组,
// 这个方法改变原数组; 例: var new_arr = [1,3,5,4,2,6]; new_arr.reverse() console.log(new_arr)//[6, 2, 4, 5, 3, 1]