本文实例讲述了JavaScript数组特性与实践应用。分享给大家供大家参考,具体如下:
JavaScript提供了一种类似数组特性的对象,它把数组的下标变为字符串,作为对象的属性。虽然它比一个真正的数组来的慢,但是使用起来很方便。
数组字面量是在一对方括号中包围零个或多个用逗号分隔的值的表达式:
var空=[]; var数量=( “0”、“1”,“2”,“3” ]; console.log(空[1]);//定义 console.log(数字[1]);//console.log (empty.length);//0 console.log (numbers.length);//4 >之前数组对象继承自<代码>数组。> 原型代码,所以数字继承了大量有用的方法。
JavaScript允许数组包含任意混合类型的值:
var misc=[ “字符串”,11.3,假的,真的,null,定义,“嵌套”、“数组”,{对象:真},南无穷 ]; console.log (misc.length);//10 >之前
数组有一个长度属性,但它是没有上界的。如果用大等于当前长度的数字作为下标来存储元素,那么长度属性值会被增大以便容纳新的元素,而不会发生数组越界现象哦O (∩_∩) O ~
长度属性的值很诡异,它是数组最大整数属性名加1,即它不一定等于数组的元素个数:
var myArray=[]; console.log (myArray.length);//0//myArray只包含一个属性,但长度的值等于这个数组最大整数的属性名加1 myArray [100000]=true; console.log (myArray.length);//100001 >之前[]后置运算符会把它包含的表达式转换为字符串,如果表达式有toString()方法,那么就会调用它。这个字符串被当做属性名,如果这个字符串是一个大等于当前长度值而且小于4294967295的正整数,那么这个数组的长度就会被重置为新的下标加1 .
可以直接设置长度的值。设置更大的长度值不会为数组分配更多的空间;而把长度设小则会导致所有下标大等于新的长度的属性被删除:
//删除元素 数字。长度=3; console.log(数字);//(“0”、“1”、“2”) >之前把下标指定为数组的当前长度,就可以把一个新元素附加到数组的尾部:
//新增元素 (号码。长度]=八摹? console.log(数字);//(“0”、“1”、“2”,“四”) >之前使用<代码> push() 代码>可以更方便地实现同样的功能:
//新增元素(推) numbers.push(“好”); console.log(数字);//(“0”、“1”、“2”,“4”,“好”) >之前
JavaScript数组就是对象,所以可以用<代码>删除> 代码移除元素:
删除数字[2]; console.log(数字);//(“0”、“1”& lt; 1个空的存储位置祝辞,“四”,“好”) >之前可惜的是,这会在数组中留下一个空洞!而我们希望的是:删除后,被删除元素的后续元素会自动地往前移动。
JavaScript数组提供了<代码>拼接()代码>方法,它接受下列参数:
①。数组的索引。
②。要删除的元素个数。
③。其他参数(多个)——把这些参数依次插入到索引位置。//第一个参数是索引号,第二个参数是要删除的元素个数 数字。接头(2,1); console.log(数字);//(“0”、“1”、“四”、“好”) >之前
JavaScript数组是对象,所以可以用在语句来遍历数组的所有属性。可在语是句无法保证属性的顺序,而且可能从原型链中得到意外的属性。
可以使用,来避免上述的问题:
var我, myArray=数字; (我=0;我& lt;myArray.length;我+=1){ console.log (myArray[我]); } >之前
如何在这两者进行选择?当属性名是小而连续的整数时,使用数组,否则使用对象。
JavaScript的typeof会认为数组是对象,这没有意义。
我们可以定义一个函数来检测数组:
var is_array=function(值){ 返回值,,typeof value=https://www.yisu.com/zixun/==韵蟆?, 价值。构造函数===数组; };JavaScript数组特性与实践应用深入详解