跳到主要内容

认识

一、认识


二、特点


2.1 数组优点

  • 随机访问:可以通过下标随机访问数组中的任意位置上的数据
  • 查找:: 根据下标随机访问的时间复杂度为 O(1);

2.2 数组缺点

  • 对数据的删除和插⼊不是很友好
  • 插⼊或删除: 时间复杂度为 O(n);

三、问题


3.1 数组和类数组有什么区别呢?

类数组 只是一个普通对象,除了length属性和索引元素(对象中的索引会被当做字符串来处理)之外没有任何Array属性和方法。常见的类数组有: 函数的参数 arguments, DOM 对象列表(比如通过 document.querySelectorAll 得到的列表), jQuery 对象 (比如 $("div")).

类数组转化为数组的方法:

  • 通过slice()转化为数组
function foo(argu1,argu2,argu3,argu4){
const array = Array.prototype.slice.call(arguments);
console.log(array); // 结果为 [10, 20, 30, 40]
}

// 或者

function foo(argu1,argu2,argu3,argu4){
const array = [].slice.call(arguments);
console.log(array); // 结果为 [10, 20, 30, 40]
}
foo(10,20,30,40);
  • 通过Array.form()转化为数组

    function foo(argu1,argu2,argu3,argu4){
    const array = Array.from(arguments);
    console.log(array); // [10, 20, 30, 40]
    }
    foo(10,20,30,40);
  • 通过扩展运算符...转化为数组

    function foo(argu1,argu2,argu3,argu4){
    const array = [...arguments];
    console.log(array); // [10, 20, 30, 40]
    }
    foo(10,20,30,40);