1.数组的创建
vararrayObj=newArray();//创建链表
vararrayObj=newArray([size]);//创建链表并指定宽度,注意不是上限,而是宽度
vararrayObj=newArray([element0[,element1[,...[,elementN]]]]); 创建链表和形式参数
需要注意的是,第二种创建链表的方式虽然指定了厚度,但实际上所有情况下字段都是可变的,也就是说,虽然指定的厚度为5,但在指定的厚度之外仍然可以存储元素。 注意:此时宽度将发生巨大变化。
vartestGetArrValue=arrayObj[1];//获取字段的元素值
arrayObj[1]="This is the new value";//给链表元素赋值新值
3.添加数组元素
arrayObj.push([item1[item2[...[itemN]]]]);//向链表末尾添加一个或多个新元素,并返回链表新的宽度
arrayObj.unshift([item1[item2[...[itemN]]]]);//向链表开头添加一个或多个新元素,手动移动链表中的元素,并返回新的宽度领域的
arrayObj.splice(insertPos,0,[item1[,item2[,...[,itemN]]]]);//向链表指定位置插入一个或多个新元素,插入处的元素手动向后移动位置,返回“”。
4、数组元素的删除
arrayObj.pop();//移除最后一个元素并返回元素值
arrayObj.shift();//移除第一个元素并返回元素值,链表中的元素手动向前移动
arrayObj.splice(deletePos,deleteCount);//从指定位置deletePos开始删除指定个数的deleteCount元素,并以链表形式返回删除的元素
5.数组的截取与合并
arrayObj.slice(start,[end]);//以字段的形式返回链表的一部分,注意不包括end对应的元素,如果省略end,则start之后的所有元素都会被复制
arrayObj.concat([item1[,item2[,...[,itemN]]]]);//将多个字段(或字符串,或链表和字符串的混合)连接成一个链表,返回连接后的新值场地
6. 数组的副本
arrayObj.slice(0);//返回字段的复制字段,注意是新字段,不是指向
arrayObj.concat();//返回字段的复制字段,注意是新字段,不是指向
7. 数组元素排序
arrayObj.reverse();//反转元素(第一个到最后一个,最后一个到第一个),返回字段地址
arrayObj.sort();//对链表元素进行排序并返回字段地址
8. 数组元素的字符串化
arrayObj.join(separator);//返回一个字符串,该字符串将字段的每个元素值连接在一起,并用分隔符分隔。
toLocaleString、toString、valueOf:可以看作是join的特殊用法,不常用
二、数组对象的三个属性
1.长度属性
Length属性表示链表的宽度typescript 数组 操作,即链表中元素的数量。 由于形参的索引总是从0开始,因此链表的上限和下限分别为:0和length-1。 与大多数其他语言不同,JavaScript 字段的长度属性是可变的typescript 数组 操作,这一点需要高度关注。 当length属性设置得较大时,实际上整个链表的状态不会改变,只是length属性会变大; 所有的价值观都丢失了。 以下是演示更改 length 属性的示例:
复制代码代码如下:
vararr=[12,23,5,3,25,98,76,54,56,76];
//定义一个包含10个数字的字段
alert(arr.length);//显示字段的宽度为10
arr.length=12;//减小字段的宽度
alert(arr.length);//显示域的宽度已经变成12了
alert(arr[8]);//显示第9个元素的值,即56
arr.length=5;//将链表的厚度减少到5,索引等于或大于5的元素被丢弃
alert(arr[8]);//显示第9个元素已经变成“未定义”
arr.length=10;//恢复字段宽度为10
alert(arr[8]);//虽然厚度恢复到10,但是第9个元素很难缩回,显示“undefined”
从前面的代码中,我们可以清楚地看到length属性的本质。 但除了可以显式设置长度对象外,还可以隐式更改它。 未声明的变量可以在 JavaScript 中使用。 类似地,可以使用未定义的链表元素(指索引大于等于length的元素)。 此时,length属性的值将被设置为所使用的元素索引的值加1。代码如以下:
复制代码代码如下:
vararr=[12,23,5,3,25,98,76,54,56,76];
警报(到达长度);
arr[15]=34;
警报(到达长度);
代码中,首先还定义了一个包含10个数字的字段,从alert语句中可以看出,其粗细为10。 立即使用索引为15的元素,并将其形参设置为15,即arr[15]=34。 此时使用alert语句输出字段的宽度,结果为16。无论如何,对于习惯强类型编程的开发者来说,这都是一个了不起的功能。 事实上,用newArray()创建的字段的初始宽度是0,正是对未定义元素的操作改变了字段的宽度。
从前面的介绍可以看出,length属性是如此神奇,可以利用它方便地减少或减少数组的容量。 因此,深入了解长度属性有助于开发过程中的灵活使用。
2.原型属性
返回对对象类型原型的引用。 原型属性是对象共有的。
对象名.prototype
objectName 参数是对象对象的名称。
说明:使用prototype属性提供对象的类的一组基本功能。 对象的新实例“继承”分配给该对象原型的操作。
对于链表对象,用下面的例子来说明prototype属性的使用。
给链表对象添加一个方法,返回链表中最大元素的值。 为此,请声明一个函数,将其添加到 Array.prototype 中,然后使用它。
复制代码代码如下:
函数array_max()
变量,最大=这个[0];
对于(i=1;i <this.length;i++)
如果(最大<this[i])
最大值=这个[i];
返回最大;
Array.prototype.max=array_max;
varx=newArray(1,2,3,4,5,6);
变化=x.max();
这段代码执行后,y 持有链表 x 中的最大值,即 6。
3.构造函数属性
表示创建对象的函数。
object.constructor//object是对象或函数的名称。
说明:构造函数属性是所有具有原型的对象的成员。 它们包括除 Global 和 Math 对象之外的所有 JScript 内部对象。 构造函数属性保存对构造特定对象实例的函数的引用。
例如:
复制代码代码如下:
x=newString("嗨");
if(x.constructor==String)//处理(条件为真)。
或者
复制代码代码如下:
函数MyFunc{
//函数体。
y=newMyFunc;
if(y.constructor==MyFunc)//处理(条件为真)。
小伙伴们,看完之后是不是对javascript链表的操作有了新的认识呢? 我希望你会喜欢这篇文章。