javascript数组(一)

作者: 二十三往后 | 来源:发表于2018-11-12 20:02 被阅读17次

数组简介

javascript有六大基本数据类型:Number,String,Boolean,Undefined,Null,ES6新增的Symbol,一种复杂数据类型Object。很遗憾,乍一看,我们的数组呢?其实数组是属于Object里的引用型数据结构。

数组:使用单独的变量名来存储一系列的值

数组的值可以不是同一个数据类型,数组的长度可变。
创建数组的基本方式有两种
第一种是使用Array构造函数,如下所示

var colors = new Array("red","blue","yellow")

第二种是使用数组字面量表示法,如下所示

var colors = ["red","blue","yellow"];
判断一个对象是否是数组

typeof可以正确检验除了数组和null的其他类型,

var arr = [];
var n = null;
typeof arr // object
typeof n //object

下面两种:instanceof & constructor属性,在一般情况下也可以作为判断数组依据

 console.log(arr instanceof Array);//true
 console.log(arr.constructor === Array);//true

使用原型链判断

function isArrayFn (o) {
        return Object.prototype.toString.call(o) === '[object Array]';
    }
var arr1 = [];
console.log(isArrayFn('111'));// true

使用Array.isArray()方法,此方法部分浏览器没有兼容

var arr = [];
console.log(Array.isArray(arr));//true

最好的写法,定义一个函数 isArrayFn

function isArrayFn (o) {
    if(typeof Array.isArray() ===  "function"){
        return Array.isArray(o);
    }else{
        return Object.prototype.toString.call(o) === '[object Array]';
    }
}
var arr = [];
console.log(isArrayFn(arr))//true
伪数组

特点:
1.具有length属性
2.按索引方式存储数据
3.不具有数组的push()、pop()等方法

伪数组无法直接调用数组方法或期望length属性有什么特殊的行为,不具有数组的push()、pop()等方法,但仍可以对真正数组遍历方法来遍历它们。
比如,function内的arguments对象,还有像调用getElementsByTagName, document.childNodes之类的,它们都返回的NodeList对象都属于伪数组,也称为类数组,还有自定义的对象,也属于伪数组。
我们可以通过Array.prototype.slice.call(fakeArray)将伪数组转变为真正的Array对象

var arr1 = {0:'a',1:'b',length:2};//这是一个标准的伪数组对象
console.log(111,isArrayFn(arr1));//false
var arr2 = Array.prototype.slice.call(arr1);
console.log(2222,isArrayFn(arr2));//true

数组方法

先上一张图(有错请提出),后面继续整理各个方法详细使用:


图片数组

相关文章

  • 06-JavaScript数组和函数

    JavaScript数组 JavaScript中的数组可以存储不同类型的数据 JavaScript中的数组是引用类...

  • JavaScript Array与String简单使用

    JS对象:数组 对比Object-C中的数组,JavaScript数组有一些不一样的特点JavaScript数组:...

  • JavaScript数组与函数

    数组 JavaScript中的数组和C语言中的数组一样, 都是用于存储一组数据的 JavaScript中的数组可以...

  • js数组及其方法

    1.js 数组及其方法2.教你用好 Javascript 数组3.JavaScript数组有哪些方法?4.数组MD...

  • JavaScript 学习脑图

    javascript数据类型 javascript变量 javascript运算符 javascript数组 ja...

  • JavaScript(Day02)

    1、JavaScript数组 2、JavaScript对象的使用 3、JavaScript内置对象

  • per-course数组

    数组是数据的有序列表。JavaScript中,数组中的每一项可以保存任何类型的数据JavaScript中,数组的长...

  • JavaScript 数组方法大全

    JavaScript 数组方法大全 数组创建 JavaScript 中创建数组的方法有两种方式,第一种是使用Arr...

  • javascript数组(一)

    数组简介 javascript有六大基本数据类型:Number,String,Boolean,Undefined,...

  • 浅谈JS清空数组的4种方法(转载)

    数组是JavaScript中的十分常用且重要的数据类型,而删除数组元素是一种常见的数组操作,JavaScript中...

网友评论

    本文标题:javascript数组(一)

    本文链接:https://www.haomeiwen.com/subject/fshjxqtx.html