1. 定义javascript
要了解字段对象,我们首先需要了解什么是链表。 所谓字段就是相同数据类型的元素按一定顺序排列的集合。 就是用名称来命名有限数量的同一类型的变量,然后用数字来区分它们的变量集。 这个名字称为字段,数字称为下标。 爪哇
首先我们需要定义一个字段,但是如何定义一个链表呢? 在 JavaScript 中定义链表的方法有很多种。 常用的四种方式如下: 数组
方法一:函数
var array = new Array(); array[0] = 1; array[1] = 2; array[2] = 3;
方法二:测试
var array = new Array(3); array[0] = 1; array[1] = 2; array[2] = 3;
方法三:这个
var array = new Array(1,2,3);
方法四:原型
var array = [1,2,3]
对于前面的四种方法,您经常使用方法四。 代码
2. 操作对象
定义好字段后,我们需要对链表中的元素进行操作。 我们应该如何操作,比如如何设置固定位置元素的值,如何添加元素,如何移除元素。 其实JavaScript操作链表,即数组的方式还是很简单的。index
我们给Array中的固定位置元素赋予形式参数,可以通过字段名和下标来参数化,如下。
var a = new Array(4); a[0] = 1, a[1] = 2, a[2] = 3, a[3] = 4; console.log(a);
对于之前的输出结果,[1,2,3,4];
那么很多人就会想到,对于前面的字段,如果我们给第五个元素一个形参,会不会有问题,比如a[5]=6,; 这样的形参,其实对于JavaScript来说,这样的形参虽然也是一种能力,但是我们定义了一个字段的大小之后,其实是可以手动调整链表的大小的。
对于js元素的添加,一般都是使用push来添加。
var array = new Array(); array.push(1) console.log(array);
通过前面的方法,可以将元素添加到链表中,这样的添加方法。
那么当我们想要移除链表中的某个元素时,这时候javascript 数组个数,我们可以使用Array.pop()函数来移除链表中的元素。具体操作如下
内置函数:
众所周知,在js中,Array是js的外部对象,它对外具有一些功能。 这些功能都是供我们使用的,比较方便。
concat,构造函数,条目,每个,过滤器,forEach,hasOwnProperty,indexOf,isPrototypeOf,join,keys,keys,lastIndexOf,长度,map,pop,propertyIsEnumerable,push,reduce,reduceRight,反向,shift,slice,一些,排序,拼接、toLocaleString、toString、unshift、valueOf、toString
上面这么多的内置函数,其实我们经常用到的并不是很多,这里就不一一介绍了,只是在这里介绍一下其中的一些。
concat:连接,因为javascript中的变量是弱变量,所以任意两个数组都可以连接。 具体连接示例如下:
var a = [1,2,3,4], b = ['a','b','c']; var c = a.concat(b); console.log('a =' + a.join(',')); console.log('b =' + b.join(',')); console.log('c =' + c.join(',')); 输出结果为 : a =1,2,3,4 b =a,b,c c =1,2,3,4,a,b,c
事实上,通过concat链接链表时,原来的字段并没有改变,只是返回的结果发生了改变。 所以这是一个需要注意的点。
every:其中,这看起来就是一个简单的链表遍历,然后根据这些情况,进行操作。 下面给出每种的使用方法:
var arr:Array = [15,7,12,15]; var testEvery1:Boolean = arr.every(isNum); var testEvery2:Boolean = arr.every(isThanTen); trace(testEvery1); //true trace(testEvery2); //false var testSome1:Boolean = arr.some(isThanTen); trace(testSome1); //true //测试函数 //是不是数字 function isNum(item:*,index:int,arr:Array):Boolean { return item is Number; } //是否大于10 function isThanTen(item:*,index:int,arr:Array):Boolean { return item>10; }
当然,对于every的使用,我们在实际应用中使用的并不多。
indexOf:查找当前元素所在的索引。 具体来说,如果不存在,则返回-1。 如果存在,则返回对应的索引。
var a =[1,2,3,4,5,6,7]; console.log(a.indexOf(3));
输出结果是2,也就是3的索引,这个索引是从0开始计数的。所以这个还是比较容易理解的。
join:就是将链表中的每个元素连接到tostring之后,连接器是连接中的内容,如果连接中的参数不存在,连接器为空,返回结果为字符串。
pop:这是一个从链表中删除元素的函数,
推; 该函数是向链表添加一个元素
length:获取链表宽度的函数javascript 数组个数,
对于数组链表,我们常常希望能够使用其中一种方法,那就是移除链表中的一个元素。 以前是百度自己,后来百度就得出这样的方法
// 添加array的remove方法 Array.prototype.remove = function (dx) { if (isNaN(dx) || dx > this.length) { return false; } for (var i = 0, n = 0; i < this.length; i++) { if (this[i] != this[dx]) { this[n++] = this[i] } } this.length -= 1; }
后来我做事的时候,看到了这么一个方法,那就是拼接。 在这个方法中,我们需要传递两个参数。 第一个参数是要移除的元素的起始位置,第二个参数是,要移除的编号,如果不传第二个参数,则将从第一个参数的位置到链表末尾的所有元素被删除,并返回被删除的内容。
var arr = [1,2,3,4,5,6]; var arr1 = [1,2,3,4,5,6]; var arr2 = [1,2,3,4,5,6]; arr.splice(1,1); // 返回结果为[2], 移除后,arr = [1,3,4,5,6]; arr.splice(1,2); // 返回结果为[2,3] , 移除后arr1 = [1,4,5,6]; arr.splice(1); // 返回结果为[2,3,4,5,6], 移除后的结果为: [1]
以上就是我们经常使用的remove的内容