一、字符串转化为数组
1. object.split()
var str = 'ab+c+de';
var a = str.split('+'); // [ab, c, de]
var b = str.split(''); //[a, b, +, c, +, d, e]
2. Array.from(arr) (等价于[…arr],拥有迭代器[symbol.iterator]的对象才能用)
const bar = ["a", "b", "c"];
console.log(Array.from(bar));
// ["a", "b", "c"] 数组还是数组
console.log(Array.from('foo'));
// ["f", "o", "o"] 字符串转化为数组
const arr='ass';
console.log([...arr]); ([...arr]的使用,也能将字符串转化为数组)
//['a','s','s']
二、数组转化为字符串
1. object.join()
var a, b,c;
a = new Array(a,b,c,d,e);
b = a.join('-'); //a-b-c-d-e 使用-拼接数组元素
c = a.join(''); //abcde
2. object.toString()
var a=[1,2,3];
console.log(a.toString());
//1,2,3
3.object+”“
var a=[1,2,3];
console.log(a+"");
//1,2,3
三、字符串转换为数字
1.转换函数。
parseInt()、parseFloat():只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。
parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10(0x代表为16进制数)
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN
parseFloat("1234blue"); //returns 1234.0
parseFloat("0xA"); //returns NaN
parseFloat("22.5"); //returns 22.5
parseFloat("22.34.5"); //returns 22.34
parseFloat("0908"); //returns 908
parseFloat("blue"); //returns NaN
注:parseFloat()必须以十进制形式表示浮点数,否则输出为NAN |
2.强制转换
Boolean(value)——把给定的值转换成Boolean型。当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。
Number(value)——把给定的值转换成数字(可以是整数或浮点数)。Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。
Boolean(""); //false – empty string
Boolean("hi"); //true – non-empty string
Boolean(100); //true – non-zero number
Boolean(null); //false - null
Boolean(0); //false - zero
Boolean(new Object()); //true – object
Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "5.5 ") 5.5
Number( "56 ") 56
Number( "5.6.7 ") NaN
Number(new Object()) NaN
Number(100) 100
3.弱类型转换
利用了js的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换。
<script>
var str= '002.345 ';
var x = str-0;
var y=+str;//利用了‘+’一元操作符特性
console.log(x);//2.345
console.log(y);//2.345
</script>
四、数字转换为字符串
以下几种方法和事例:
object+”
String(object);
object.toFixed();
object.toLocaleString();
object.toPrecision();
object.toString();
顺便提一下,详情自行查阅:
String(null);// ‘null’ (String()为强制转换函数)
null.toString();//出错
<script>
var a = 1;
console.log(a+'');//1
console.log(String(a));//1
console.log(a.toFixed());//1
console.log(a.toLocaleString());//1
console.log(a.toPrecision());//1
console.log(a.toString());//1
</script>