1.创建字符串和数组的方法
1.1 创建字符串的方法
A.直接量:var str = " ";
B.字符串对象创建: new String("");
1.2 创建数组的方法
A. var arr = [ element.....];
B. var arr = new Array();//创建一个数组对象
C. var arr = new Array(5);//创建一个数组并指明长度为5
D. var arr = new Array([elment, element1, elemet2......]);//创建数组对象并赋值
2.String对象和数组的属性是相同的
2.1. constrcutor
2.2. prototype
2.3. length: str.length可以获取字符串长度 arr.length可以获取数组的长度
3.String对象和数组方法的异同之处(这里小编只挑一些经常用到的)
3.1 String对象-----索引相关
(1)charAt(index):通过索引值查找,返回指定字符
(2)indexOf(searchvalue,start):返回指定字符首次出现的位置
(3)lastIndexOf(searchvalue,start):返回指定字符最后出现的位置
(4)charCodeAt(index):返回指定字符的Unicode编码,介于0 - 65535的数字
(5)replace(searchvalue,newvalue)replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串
(6)search(searchvalue) 方法用于查找与字符串或者正则表达式相匹配的String对象的起始位置
<script>
var str = "a123456789";
console.log(str.charAt(0)); //索引值
console.log(str.indexOf(2)); //=>2 返回2首次出现的位置
console.log(str.lastIndexOf(8));//=>3 返回8最后出现的位置
console.log(str.replace("9","b"));// =>b 把所有9替换成b
console.log(str.search("234")); //=>2 返回第一个字符的位置
console.log(str.charCodeAt(1)); //=>49 返回Unicode编码
</script>
3.2 数组对象----索引相关
(1)copyWithin(traget, start , end)方法用于从数组的指定位置拷贝元素到数组的另一个指定位置中
(2)findIndex(function(currentValue,index,arr)方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置,后面两个形参可以不用写
(3)indexOf(item, start)方法可返回某个指定的字符串值在字符串中首次出现的位置
( 4 ) lastIndexOf(item,start)方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索
<script type="text/javascript">
var arr = [2,3,1,3,5,6,2];
var arr1 = arr.copyWithin(3,0,2);//2 3 1 2 3 6 2
function num(num){
return num > 3;
}
var arr2 = arr.findIndex(num);
console.log(arr2);//5
var arr3 = arr.indexOf(3);
console.log(arr3);// 1
var arr4 = arr.lastIndexOf(2);
console.log(arr4);// 6
</script>
3.3 Strin对象-----匹配相关(与正则表达式配合使用)
(1)str.match(RegExp):匹配指定字符串
var str = "2018上海上班2019杭州上班";
var res = str.match(/上班/g);
console.log(res);
(2)str.replace(RegExp):替换指定字符
var str = "2018上海上班2019杭州上班";
var res = str.replace(/上班/g,"挣钱");
console.log(res);
(3)str.search(RegExp):查找字符。返回与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置。
var str = "2018上海上班2019杭州上班";
var res = str.search(/上班/g);
console.log(res);// 6
3.4 String---操作字符相关
(1)str1.concat(str2,...,strn) :连接字符串
(2)str.slice(start,end):传入两个索引值,截取两个值之间的字符串,不包括end值。返回新字符串。若start为负数,从最后一位开始数起。
var str = "I'm a programmer";
var str2 = "Heloo Wrold";
console.log(str+str2);
console.log(str.slice(0,4));
console.log(str.slice(-4,-2));
3.5 数组-----操作符相关
(1)arr.concat(str2,...,strn) :连接数组
var hege = ["Cecilie", "Lone"];
var stale = ["Emil", "Tobias", "Linus"];
var kai = ["Robin"];
var children = hege.concat(stale,kai);
(2)arr.slice(start,end):传入两个索引值,截取两个值之间的字符串,不包括end值。返回新数组。若start为负数,从最后一位开始数起。
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1,3);
console.log(citrus);
(3)splice(index, howmant ,item) 方法用于插入、删除或替换数组的元素
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,0,"Lemon","Kiwi");
console.log(fruits);
4.总结
String对象和数组有些相同之处还有不同之处,有的用法差不多,这里呢小编只列举了常用的方法,有些不常用的就没有列举,其实我们在学习者两个内容时可以相互结合一下,这样可以很快记住那些方法,好啦!就总结这么多,有心的你可以做的比我更好,想法是可以共享的,若你有不同的见解,可以微信我,我们一起进步!见下面我的微信号: