JavaScript(八)-字符串与数组
字符串
1.获取字符串长度
let x = "哈哈哈 abc";
//字符串的长度 console.log(x.length);
2.字符串下标取值
//字符串的这个取值方法不兼容低版本的ie浏览器 console.log(x[5]); //这个方法兼容所有浏览器 console.log(x.charAt(5));
注:字符串不能够通过 length或者下标的方式修改自己本身,字符串不能修改只能获取
3.charcodeAt(Unicode编码)
let x = " 09azAZ老师"; console.log( x.charCodeAt(1) ); console.log( x.charCodeAt(2) ); console.log( x.charCodeAt(3) ); console.log( x.charCodeAt(4) ); console.log( x.charCodeAt(5) ); console.log( x.charCodeAt(6) ); console.log( x.charCodeAt(7) ); console.log( x.charCodeAt(8) ); console.log( x.charCodeAt(9) ); console.log( x.charCodeAt(10) );
注:每个汉字和数字都有单独对应的Unicode编码
4.String.fromCharCode
console.log( String.fromCharCode(22222) );
注:将unicode编码转换对应数字,汉字,字符
5.操作字符串的方法
(1) substring, slice
let x = "夏栀老师"; //包含起始,不包含结束 console.log(x.substring(0, 2)); //可正截取也可倒截取 console.log(x.slice(0, 2)); console.log(x.slice(-2, -1));
(2) toUpperCase, toLowerCase(英文大小写转换)
let str = "abcD"; //只有针对英文字母大写转换 console.log( str.toUpperCase() ); console.log( str.toLocaleUpperCase() ); //转小写 console.log( str.toLowerCase() ); console.log( str.toLocaleLowerCase() );
(3) indexOf (查找字符串位置)
console.log(x.indexOf("夏"));//12 console.log(x.indexOf("夏 栀"));//-1 console.log(x.indexOf("a"));//0 console.log(x.indexOf("a", 2));//18
(4) split (以某个字符串为界线,把字符串分开成数组)
let str = "Fly,夏栀,芊芊,发发,小龙,兮夜,风屿"; //以某个字符串为界线,把字符串分开成数组 console.log( str.split(",") ); console.log( str.split(",")[2] ); // console.log( str.split("") );
数组
1. 数组的操作
//原数组发生变化 // arr.push(4); // arr.push(4,5); /*arr.unshift(88); arr.unshift(88,99);*/ arr.pop(); arr.shift(); console.log(arr);
push 在数组后面塞 pop() 在数组后面删除
unshift 在数组前面塞 shift() 在数组前面删除
(1) splice 切割数组
含义:参数:从第几位开始,删除几个,用什么数据替换,用什么数据替换,...
let a = [4,5,66,77,8]; // a.splice(2,1,99); a.splice(2,0,99); console.log(a);
(2) sort (数组的操作)
let a = [7,8,5,3,9,77,55,1,20,50]; a.sort(function(x,y){ // return x-y; //升序 // return y-x; //降序 return -1; //倒序 // return 1; //不变 }); console.log(a);
(3) concat (数组的拼接)
let a = [7,8,9]; let b = [1,5,9]; let c = a.concat(b); console.log(c);
(4) join
let arr = [ "夏栀", "Fly", "芊芊" ]; console.log( arr.join("===") );
(5) Array.isArray (判断数据是不是数组)
let a = [2]; let b = { 0:10, 1:20, length:2 }; console.log( Array.isArray(a) ); console.log( Array.isArray(b) );
遍历 (forEach)
let a = ["Fly","夏栀","芊芊","发发"]; a.forEach(function(item,index){ console.log(item, index); });
(1) map (返回一条新数组,对数组统一相同操作时候可用map)
let b = a.map(function(item){ return item*item; });
(2) filter (根据返回值真假来,过滤)
let c = a.filter(function(item){ return !(item%2); }); console.log(c);
(3) for let key in 遍历对象里的属性
let obj = { name : "Fly", age : 18, sex : "男" }; for (let key in obj){ console.log( key, obj[key] ); }
本文来自博客园,作者:小衣,转载请注明原文链接:https://www.cnblogs.com/yhy-blog/p/14418909.html