抽象轻松JavaScript

数据类型的检测与转换——数组篇

引用类型的检测(数组类型的检测)

第一个:在之前文章了解过的——instanceof,返回boolean类型(true/false)

语法公式:元素 + instanceof + 查询的类型 

第二个:Array.isArray() ,返回Boolean类型

公式语法:Array.isArray(元素) 

例子

    let i = [];
    console.log(i instanceof Array);
    console.log("秋刀鱼" instanceof Array);
    console.log(Array.isArray(i));
    console.log(Array.isArray("秋刀鱼"));

抽象轻松JavaScript_第1张图片

 ps:元素是一个范围比较广的概念,包括了很多,基本类型与引用类型

小结:

查询数据类型

数据类型转换

在之前用Array()的方法可以直接转换,但是这次是多方法同目的

第一种:拆分,字符串被拆分会变成数组 = split()

例子

    let arr =123456789
    console.log(String(arr).split());//(1) ['123456789']

逻辑:用String()将实数转换成字符串,再使用字符串的方法,split()将他们转换成数组!

第二种:form()方法,form中文从……到

在说数组的第一期中,就说了数组是怎么构成的,按下标顺序排序的元素,在这个方法中会自动把元素排序,但是有一个注意点,那就是改元素要有长度,也就是用.lenght会有显示

居然说到length属性,那么就意味着有些数据类型没法直接使用

    let str = "秋刀鱼";
    console.log(str.length);
    let obj = {name : "秋刀鱼"}
    console.log(obj.length());

抽象轻松JavaScript_第2张图片

 说的就是对象,但是真没部分了吗?

错,答案是有的,我们手动认为添加一个length属性就可以了(单指使用form()方法的时候)

你还是没办法直接使用输出语句看到

    let obj = {name : "秋刀鱼",length:10};
    console.log(Array.from(obj));
    let obj1 = {name : "秋刀鱼"};
    console.log(Array.from(obj1));

抽象轻松JavaScript_第3张图片

但是明明有一个秋刀鱼的值,为什么没显示!对象是没有下标这个的,没有下标就认为制作下标!

抽象轻松JavaScript_第4张图片

 

 let obj = {0 : "秋刀鱼",length:10};
    console.log(Array.from(obj));
    let obj1 = {name : "秋刀鱼"};
    console.log(Array.from(obj1));

那再提出一个问题,为什么会自动补一个undefined呢?

原因很简单,因为from方法返回的是一个构造函数,构造函数那一期说了,空缺的元素,会自动补0

进阶操作提示(虽然目前不涉及)你可以在from()方法这个括号里面用元素,之前也说过,元素除了两个基本的,还有一个函数!

用函数可以提高这个方法的上限!

小结

两个关键词带过整篇内容,检测和转换!

目的为检测和转换,在进行一波,两种检测方法同目的与三种转换同目的数据类型转换

再总结再深入,那就是数组的操作也或者说是数组的组合拼装

核心依旧是目的,但是在数组篇,目的变成了数组!

数组排序,数组的检测,数组的使用,数组的展开,等等基于数组的一系列目的

你可能感兴趣的:(抽象js,javascript,前端,开发语言)