数据类型转换
一.强制转换(显示转换)
1.转换为number
parseIne():将一个数据的值转换为整数(去掉小数点后的数)将数据的类型转换成number
代码示例:
let num = 123;
console.log?(parseInt(num));
parseFloat():将一个数据类型转换为number.将一个数据的值转换为小数
代码示例:
let num = 123;
console.log?(parseFloat(num));
Number():可以转换任意数类型.对整个数据转换,如果不能则返回NaN
代码示例:
let num = 123;
console.log?(Number(num));
2.转换为string string可以解析任意数据类型
toString():toString不能转null同时也不能转换undefined
let num = 123;
console.log(num.toString());
console.log(string(true));
3.转换为boolean
Boolean();
console.log(Boolean(''));
(''),(null),(undefined),(0),(NaN),(false) 除了这6个是false其他的都是true
二.自动转换(隐式转换)
判断一个值是否为数字
1·isNaN();判断转换之后的值(number方法类似)
console.log(isNaN(true));
2.++ -- 都会偷偷转换为number方法之后的值
let num = "10px";
num --;
console.log(num);
3. +
当其中一个数是字符串时.其它的数会用string的方法将它转换为字符串.
当所有的数里面没有字符串,其它的数据类型会偷偷调用number将它转换.
小技巧:将某一个数转换为字符串类型又不想改变它的值只需要添加空字符串""就行了。
let a = null;
let b = true;
console.log(a + b);
let a = true;
console.log(a + "");
- - * / % 都是会调用number转换为数字类型
let a = "10";
let b = "2";
console.log(a - b);
a-0就会将其转换为number
- > < == 如果两个数没办法做比较的时候就会把它转换成number类型再进行转换
let a = "true";
let b = "false";
console.log(a > b);
- && || !
!(取反):let a = 10;
console.log(!a);
&&:如果有操作数不是布尔值,会把第一个操作数隐式的调用Boolean()转换为布尔值。
如果转换后为true,整体结果为第二个操作数.反之整体结果为第一个操作数
console.log(1 && 0);
||(或):第一个为真就用第一个,第一个为假就用第二个.
数组(Array):一组数据的有序列表
一.创建数组 数组里面可以存任意数据类型.每个数组之间用逗号隔开
1.字面量方式
let arr1 = [];
2.构造函数方式
let arr2 = new Array();
二.创建并初始化
let arr3 = [1,"hello",true,undefined,null];
console.log(arr3);
三.下标(索引):数组中每一个元素的位置
1·查看:console.log(arr3[1]);
2.增加:arr3[5] = "world";
console.log(arr3);
3.修改:arr3[1] = 'world';
console.log(arr3);
4.删除 这个删除只会删除数据.位置还会保留
delete arr3[2];
console.log(arr3);
四.多维数组
let arr4 = ["a","b",["hello"]];
console.log(arr4[2] [0]);
五.数组的扩展 (ES6)
1.扩展运算符 ...:取出可迭代对象的每一项
let arr1 = ["a","b","c","d"];
console.log(...arr1);
let arr2 = [...arr1];
console.log(arr2);
2.合并2个数组
let arr1 = ['王海枫',100,'男'];
let arr2 = ['王思聪',2,'女'];
let arr3 = [...arr1,...arr2];
console.log(arr3);
3.将字符串转换成数组
let str = 'helloworld';
let arr = [...str];
console.log(arr);
2.解构:解构赋值,ES6里面新增一种批量赋值的操作
结构一致按照对应的位置将数据赋值给变量
let a = 1;
let b = 2;
let c = 3;
let[a,b,c] = [1,2,3];
获取数组中的每一个值
let arr = ['hello','123','true',werq];
let [a,b,c,d] = arr;
console.log(d);
let a = "红";
let b = "花";
let c = "油";
[a,b] = [b,a];
console.log(a,b);
解构的默认值 没有赋值的时候才有默认值
let [a = 1,b = 2] = [3,4];
console.log(a,b);
数组的属性和方法
一:属性 1:length (查看数组的长度)可以手动改变长度arr.length= 10;
二:方法
1:push()向数组的末尾添加一个或多个元素,并返回新的长度
2:pop()删除最后一个元素(pop可以跟push放到一起)
3:unshift() 往数组的头部添加元素,并返回长度
4:shift() 删除头部第一个元素
5:splice()从数组中添加或删除元素
arr.splice(下标,删除个数)不删除写0,后边为添加的数字
6:indexof() 通过字符找位置
7:slice()截取
8:concat()合并数组
9:includes()判断
10:join()把数组中制定的元素,拼接成字符串
三:排序
1:reserse()反转排序
2:sort()对数组的元素进行排序(从小到大的同时转换成字符串)对数字排序时,用到这种格式