其实就是 prototype 1.4中 枚举对象部分 的简化版本, 先贴代码,等下再一一解释,对初学者可能有帮助 最近一直在学习Python,一直感叹于python中 list的灵活, 同样都是数组,为什么javascript不能和python中的一样灵活呢, (其实下面这些 prototype 1.4已经实现了,不过 prototype太胖了,你知道的,我对胖女人不感兴趣) 于是就有了下面的代码..... 代码如下: Array.prototype.map = function(f) { var arr=[] for(v...
concat 方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。array1.concat([item1[, item2[, . . . [, itemN]]]]) join 方法 :返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。arrayObj.join(separator) pop 方法 :移除数组中的最后一个元素并返回该元素。arrayObj.pop() push 方法 :将新元素添加到一个数组中,并返回数组的新长度值。arrayObj.push([item1 [item2 [. . . [itemN ]...
最近做个练习,用到Array.slice()和Array.splice(),以前没有注意其返回值类型 Array.slice()返回Array -- 一个由原始数组中某一范围的元素构成的数组。 Array.splice()返回Array -- 包含从原始数组中删除的元素的一个数组。 返回的是一个数组,用typeof()看一下是object,这没错!需要提醒大家的是: 当数组元素是数字时,用Array.slice()和Array.splice()取其中某个元素进行大小比较,可得要注意,必须转换 类型,这个很隐蔽,出错后很难查的...
push 方法将新元素添加到一个数组中,并返回数组的新长度值。 arrayObj.push([item1 [item2 [. . . [itemN ]]]])参数arrayObj 必选项。一个 Array 对象。 item, item2,. . . itemN 可选项。该 Array 的新元素。说明push 方法将以新元素出现的顺序添加这些元素。如果参数之一为数组,那么该数组将作为单个元素添加到数组中。如果要合并两个或多个数组中的元素,请使用 concat 方法。示例 var arrayObj = new Array(0,1,2,3,4);arra...
$A = Array.from(iterable): 将iterable转化为数组,如果iterable定义了toArray方法,就调用这个方法,否则利用iterable的length属性进行枚举, 如果iterable没有length属性的话就返回空数组[] Array对象除了扩展Enumerable对象的方法外,另外扩展了如下的几个方法,注意以下方法除了clear外都不改变原来数组,而是返回一个新数组: clear(): 清除数组,利用arr.length=0 first(): 返回第一个元素 last():返回最后一个元素 compact...
代码如下:/* Array */ Array.reverse() //数组反向排序,变成新数组。 Array.sort() //把数组按字符排序,变成新数组。 s=Array.push("str1","str2") //从后面添加数组,s为添加记录 s=Array.pop() //从后面删除数组,s为被删记录 s=Array.shift() //从前面删除数组,s为被删记录 s=Array.unshift("str1","str2") //从前面添加数组,s为添加记录 s=Arr...
但是让我感到意外的是,下面有个网友回复说,javascript中的Array本身的sort方法才是最快的,比快速排序算法都快,当时看到了很是郁闷,因为当时花了好长时间在排序算法上,居然忘记了Array本身的sort方法 不过javascript中内置的sort方法真的比快速排序算法还快吗? 哈哈,测试一下不就知道了 先说一下我测试的环境 1,我的测试环境是IE6.0和firefox2.0 2,每种算法有很多种不同的实现方法,下面测试中我选择上面网友实现的快速排...
我们知道JScript给我们提供了一个内置的数组对象Array。Array对象除了提供了constructor、length和prototype外,还默认提供了13个方法:concat、join、pop、push、reverse、shift、slice、sort、splice、toLocaleString、toString 、unshift和valueOf,可是没有提供delete方法。 要是熟悉JavaScript的话,会马上说,系统提供了一个delete操作,可以用来删除数组中的元素。对,JS系统里确实有一个delete可以删除数组中的元素。可...
Array.prototype.sort方法是对数组进行排序, 该方法带一个函数参数,用来指定排序的规则. 我们先来看看sort 的简单应用: var arr=[2,1,3,4]; alert(arr.sort()) // [1,2,3,4] 从小到大排列 //现在由大到小排列 得到 [4,3,2,1] alert(arr.sort(function(left,right){return left>right?-1:1})) //这里,sort方法通过参数函数的返回值 1或者-1来决定是顺排还是倒排 还记得我以前和大家说过的 利用 Function.apply 方法来获取数组中的...
今天在网上看到的,一大堆测试数据,懒得看了,把结论抄下来。 比如 Dim a(10000),i,t t=Timer For i=0 to 10000 a(i)=CStr(i) Next Response.Write Join(a,vbCrLf) Response.Write timer-t Erase a %> 速度可以和php一拼(虽然还是没有他快),另一种用法是 s=Join(Array("1","2","3",.....,"9999")) 速度依然比"1" & "2" & "3" & .....& "9999"要快很多
JavaScript的Array对象有一个sort方法,用于实现对数组元素的排序,该方法默认按照数组项ASCII 字符顺序升序排列。 如[6,7,9,1,-1].sort();执行后数组变为[-1,1,6,7,9]。 对于需要降序排列或非字符串排序,该方法就不能很好的执行了。 当然,sort有一个可选参数,它能帮我们解决这个问题,通过为sort传入一个函数,sort根据函数返回值进行排序。 数组为该函数默认传入数组中的两个元素,如传入a,b,如果函数返回值大于0,则...
arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]]) 参数 arrayObj 必选项。一个 Array 对象。 start 必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。 deleteCount 必选项。要移除的元素的个数。 item1, item2,. . .,itemN 必选项。要在所移除元素的位置上插入的新元素。 说明 splice 方法可以移除从 start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由...
1.typeof 操作符.对于Function, String, Number ,Undefined 等几种类型的对象来说,他完全可以胜任,但是为Array时 代码如下: var arr=new Array("1","2","3","4","5"); alert(typeof(arr)); 你会收到一个object 的答案,有点让人失望 . 2.instanceof 操作符,JavaScript中instanceof运算符会返回一个 Boolean 值,指出对象是否是特定类的一个实例。 使用方法:result = object instanceof class,还是刚刚的数组,再来一次,嗯...
代码如下:var array = new Array(["no1","no2"]); array["po"] = "props1"; alert(array[0][0]); alert(array.length); //2 //对于数组来说,array[0]同array["0"]效果是一样的(?不确定,测试时如此) alert(array[0] + "_" + array["1"] + "_" + array.po);//
通常在JavaScript中用for与for in遍历数组结果是没有什么区别的,它的循环变量i都是从0开始的数组索引(for in如果遍历的是非数组对象的属性集合,则这个i就是属性名,或称之为key)。另外要注意一点是:用for in遍历数组,循环变量i是字符串类型的。如果对Array进行原型扩展后,再用for in来对数组进行遍历时就要注意些问题了。 测试代码: 代码如下: Array.prototype.max = function() { return Math.max.apply({}, this); }; v...