Javascript是一种神奇的语言,在它的数组中也是独一无二的,我们应该去寻找糟粕,吸取精华,总结最佳实践,如果有错误,请指出。

Javascript数组是数组的对象,它具有对象的属性。当属性名是一个小且连续的整数时,应该使用数组;否则,使用对象。

阵列光源



所有数组都是由数组构造的,我们将测试构造函数的属性。


var arr = { };
arr.constructor = / /真实阵列;
arr.constructor = array.prototype.constructor; / /真的



创建一个数组




数组文字方式
VaR arr1 = { 1, 2, 3 } / {1,2,3};

构造函数方法
VaR arr2 =新(阵列); / / { }空数组
VaR ARR3 =新的数组(9); / / { 9 }一个字符串元素
VaR的新数组(ARR4 = 9); / / { }数组长度为9的长度
var ARR5 =新的数组({ 9 }); / / { { 9 } }相当于一个二维数组
var ARR6 =新的阵列(1, 2, 3); / / { 1, 2, 3 }
VaR ARR7 =新的数组(1,函数f({ O){ },:6 },空,不确定的,真的);
数组可以存储任意混合数据类型。




由于ARR4,当只有一个数字参数传递数组构造函数,构造函数返回一个空数组集合的length属性。所以建议使用阵列的文字,简洁明了。

对象是否是数组




VaR arr1 = { 1, 2, 3 };
Typeof(前); / /对象



众所周知,类不能正确检测类型。


arr1是阵列; / /真的



在网页中的方式是没有问题的。嵌套其他网页后,有两个全局范围。相互测试时,会出现问题。


Array.isArray(前); / /真的



Array.isArray()是一种新的方法ecmascript5没有缺陷。唯一的问题是,IE8浏览器不支持,IE9浏览器不支持严格的模式。


object.prototype.tostring.apply(arr1)。片(8、1); / /阵列



最后一种方法是检测类型的最佳方法。

数组的长度



数组的长度也是它的属性,长度的增加不会引起交叉错误。

长度值等于数组的整数属性名,最大值为1。


VaR arr1 = { };
前{ 9 } = 1; / /长度为10的数组只包含一个元素,



设置一个小值将删除与长度相等的属性的属性名称。

如果长度值设为0,则等效为空数组。


VaR arr2 = { 1, 2, 3,4, 5 };
arr2.length = 3; / / { 1, 2, 3 }
arr2.length = 0; / / { }



数组的遍历



遍历数组并不使用for循环遍历数组,因为遍历原型链中的所有属性,但我们不需要这么多。建议使用for循环。


VaR arr1 = { 1, 2, 3 };
arr1.test = 9;

在模式下
对于(在前无功支撑){
cosole.log(道具,arr1 {道具});
}
输出如下
/ / 01
12
23
9 测试

/ /循环模式
对于(var i = 0,len = arr1.length;我< len;i++){
console.log(arr1 {我});
}
输出如下
/ / 1
2
3




我们看到在一个测试值,可由hasownproperty功能排除在外,但会比循环慢得多。

缓存数组的长度是必要的步骤,每次访问都有性能开销(最新的浏览器在这方面进行了优化)。

总结



简要介绍了数组的基本知识,这里也是对数组的更全面的了解。

虽然有很多东西我很难理解,但我已经爱上它很久了,因为我现在没有一个姐姐可以让我爱了。