认识
一、认识
二、特点
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);