字符串,数组和对象之间的方法和转换

一、 字符串概念及常用的API方法:

字符串:凡是用双引号或单引号引起来的字符都叫做字符串
创建3种
1、构造函数----》构造出来一个对象    
var str = new String()
var str = new String("我就是我,不一样的烟火,我看自己上火")
console.log(str)
2、关键字
var str = String()
3.字面量
var str = "";
var str = '';
var str = String("我就是我,不一样的烟火,我看自己上火")
console.log(str)
var str ="我就是我,不一样的烟火,我看自己上火";
console.log(str)
原字符串永远都不会被改变
var str = "你这一辈子有没有为别人拼过命?";
str[0] = "我";
console.log(str)

常见的API:

charAt:
输入下标返回相对应的值
str.charAt(下标)
var str = "人前一杯酒,各自饮完。人后一片海,独立上岸";
console.log(str.charAt(3))
indexOf:输入值返回对应的下标 如果没有则返回-1
语法:str.indexOf()
var str = "人前一杯酒,各自饮完。人后一片海,独立上岸";
console.log(str.indexOf("人"))
字符串截取
slice:
substring:
substr:
当输入一个值得时候是截取的起始位置  (算自身)
slice
substring
当输入2个值得时候第一个值代表起始位置(算自身) 第二个值是结束位置(不算自身)
substr:
当输入2个值得时候第一个值代表起始位置(算自身) 第二个值代表截取的长度
var str = "人前一杯酒,各自饮完,人后一片海,独立上岸";
console.log(str.slice(2,6))
console.log(str.substring(2,6))
console.log(str.substr(2,6))
trim:去掉前后空格
var str = " 你好 ";
var str1 = "再见"
console.log(str)
console.log(str1)
console.log(str.trim())
split:将字符串转换为数组
替换:replace()
第一参数是需要替换的字符  第二个参数是替换成的字符
返回值是新的字符串
var str = "人与人之间的安全距离是一百二十二公分,跟你喜欢的人在一起,你会努力去缩短这个距离";
var newStr = str.replace("人","神");
console.log(str)
console.log(newStr)

二、数组常见的例题:

(1).让数组中的元素交换位置(重要)
var arr = [10,20];
var temp = arr[0];
arr[0] = arr[1];
arr[1] = temp;
console.log(arr)
(2)、求数组的最大数和最小数(重要)
 */
var arr = [10,20,30,40,50];
//最大数
function maxNum(arr){
var max = arr[0];
for(var i=0;i<arr.length;i++){
if(max<arr[i]){
max = arr[i];
}
}
return max;
}
console.log(maxNum(arr))

第一、数组常见的API:

push:
尾部添加
arr.push();
返回值:是数组的长度
该方法会改变元素数组
var arr = [10,11,12,13];
var newArr = arr.push(14);
console.log(newArr,arr);
unshift:
头部添加
arr.unshift();
返回值:是数组的长度
该方法会改变元素原数组
pop:
尾部删除
arr.pop();
返回值:是删除的数字
该方法会改变元素原数组
shift:
头部删除
arr.shift()
返回值:是删除的数字
该方法会改变元素原数组
sort():排序
arr.sort();
返回值:是排序好的数字
该方法会改变元素原数组
如果sort内部传递了参数的话那么就是按照数字的排序进行排序
如果sort内部没有传递参数的话则按照ASCII进行排序
var newArr = arr.sort(function(a,b){
returna-b;
});
2、混排
var arr = [31,21,9,7];
var arr = [1,2,3,4,5,6];
var newArr = arr.sort(function(){
return Math.random()-0.5;
});
console.log(newArr,arr);
reverse():反转
var arr = [1,2,3,4,5,6];
var newArr = arr.reverse();
console.log(arr,newArr)
二、数组常见的API2:
concat:
数组的拼接
语法:arr.concat(第二个数组);
返回值:拼接以后新的数组
原数组不会发生改变
var arr = [1,2,3];
var arr1 = [4,5,6];
var newArr = arr.concat(arr1);
console.log(newArr,arr,arr1)
join:将数组转换为字符串
语法:arr.join("")
参数:任意符号  把数组按照什么样子进行转换成字符串
原数组不会发生改变
var arr = [10,20,30,40];
var str  = arr.join("/");
console.log(str,arr)
split:将字符串转换为数组   //字符串的方法
语法:str.split();
参数:字符串里面自带的一些符号  或者你想要哪种符号进行分割  但是前提是字符串里面必须有这个符号
var str = "10,20,30,40";
var arr = str.split(",");
var newArr = [];
for(var i=0;i<arr.length;i++){
newArr.push(Number(arr[i]));
}
console.log(newArr)
toString:将数组转换为字符串;----->自己去查-----
语法:arr.toString();
var arr = [10,20,30,40];
var str  = arr.toString("");
console.log(str,arr)
eval():传入一个字符串,然后将字符串解析成js代码去执行
slice:截取
语法:
arr.slice()
当传入1个参数的时候这个参数代表截取的起始位置
当传入2个参数的时候第一个参数代表截取的起始位置但是不算自身 第二个参数代表截取结束的位置
原数组不会发生改变
var arr = [10,20,30,40,50,60,70,80,90,91,92,93,94];
var newArr = arr.slice(3,7);
console.log(newArr,arr)
splice():截取
语法:
arr.splice();
当传入1个值得时候这个值代表截取的起始位置(不算自身)
当传入2个值得时候第一个值代表截取起始的位置第二个值代表截取的长度
当传入三个值得时候,如果第二个值是0的话代表的插入 第一个值代码插入的位置,第三个值插入的数字
当传入三个值得时候,如果第二个值是非0的数字的数代表替换,第一个值是插入的位置,第三个值是插入的数字,第二个值还代表替换的长度
原数组会发生改变
 */
var arr = [10,20,30,40,50,60,70,80,90,91,92,93,94];
var newArr = arr.splice(3,3,"你好");
console.log(newArr,arr)

 三、对象:

什么是一个对象
万物皆是对象
对象作用:
存储信息
命名空间
3种
1、构造函数
var obj = new Object();是一个Object
2、关键字
var obj = Object();返回值{}
3、字面量
var obj = {}:返回值{}
var obj = new Object();
var obj1 = Object();
var obj2 = {};
console.log(obj2)
如果一个变量当做属性的话 那么这个属性是只属于这个对象的
婚前是属于大家的  婚后是属于自己的
 */
//添加数据  属性:key值   属性值:val   obj.key = val;
var obj = {a:3}//数据的类型是key:val  可以存放多个键值对  每个之间用逗号隔开
obj.name = "唐文";
obj.sex = "不详";
obj.age
//上面这个值永远都是key值
//下面这个值可以是一个变量  如果加""则是属性  不加引号则是变量
var name = "bbbb";
obj[name] = 333;
//删除
delete obj.name
//添加方法
obj.fn = function() {
alert(1)
}
console.log(sex)

猜你喜欢

转载自www.cnblogs.com/yunshangwuyou/p/9277093.html