【Array类型】JavaScript中的原生对象以及Microsoft AJAX Library中的相关扩展

来源:互联网 发布:淘宝节点处罚在哪里看 编辑:程序博客网 时间:2024/06/07 23:11

Array原生类型(相关扩展见实例下方)


• 长度可变数组对象数组对象
 – 0-based
 –最大长度2^32−1 = 4294967295
• 构造Array对象
 – new Array():空数组
 – new Array(3):长度为3的数组
 – new Array(1, "Hello"):构造有两个元素的数组

 

Array.prototype. …(cont.) 


• length属性:数组长度,可读写
• toString() / toLocaleString()方法:
 – 返回逗号分割的字符串
 – 两者区别是得到每个对象字符串的方式
• concat([ item1 [ , item2 [ , … ] ] ])方法:
 – 返回一个新数组,保存了原数组所有元素和所有的参数
• push([ item1 [ , item2 [ , … ] ] ])方法:
 – 在数组尾添加一个或多个元素
• pop方法:
 – 从数组尾去除并返回元素
•shift方法:
 – 从数组头去除并返回元素
• unshift([ item1 [ , item2 [ , … ] ] ])方法:
 – 在数组头添加一个或多个元素
• join(separator)方法:
 –返回以separator作为分割符得到一个连接所有元素的的字符串
 – StringBuilder的基础,可以为IE加快字符串拼接速度
• reverse()方法:将数组内所有元素逆转
• sort(compareFunction)方法:
 –参数为一个方法,用于比较两个元素
 –省略了参数则直接使用<, ==, >比较两个元素
• slice(start, end)方法:
 –返回新数组,不影响旧数组
 –包含从下标start开始到下标end-1的元素
 –如果省略end则包含从下标start开始至末尾的所有元素
 –如果参数为负数,则表示数组的“倒数”第几个下标(即下标为n + array.length)
 –如果start元素在end元素之后或相同,则返回空数组
• splice (start, deleteCount [ , item1 [ , item2 [ , … ] ] ] ) 方法:
 –最灵活的方法,影响影响当前数组
 –从下标start的元素开始,删除deleteCount个元素,并在当前start位置开始插入剩余元素
 –删除元素:splice(2, 1)
 –插入元素:splice(2, 0, "Hello", "World")
 –替换元素:splice(2, 1, “Hello”, “World”)

--------------------------------------------------------------------------

实例

aspx页面

<div id="info"></div><script language="javascript" type="text/javascript">function display(text){document.getElementById("info").innerHTML += (text + "<br />");}Array.prototype.display = function(){window.display("a: " + this);}var a = new Array(1, 2, 3, 4, 5); // a = [1, 2, 3, 4, 5];display("Array initialized");a.display();//push(item1,item2,...,itemN):在数组尾添加一个或多个元素display("a.push(6, 7)");a.push(6, 7); //添加两个元素,分别为6和7a.display(); // [1, 2, 3, 4, 5, 6, 7]//shift():从数组头去除一个元素并返回display("a.shift(): " + a.shift());a.display(); // [2, 3, 4, 5, 6, 7]//unshift(item1,item2,...,itemN):在数组头添加一个或多个元素display("a.unshift(8)");a.unshift(8);a.display(); // [8, 2, 3, 4, 5, 6, 7];//pop():从数组尾去除一个元素并返回display("a.pop();" + a.pop());a.display(); // [8, 2, 3, 4, 5, 6];//concat(item1,item2,...,itemN):返回一个新数组,保存了原数组所有元素和所有的参数display("a.concat(9, 10): " + a.concat(9, 10)); // [8, 2, 3, 4, 5, 6, 9, 10]; //新数组添加了两个元素a.display(); // [8, 2, 3, 4, 5, 6]  //原数组并未改变//join(separator):返回以separator作为分割符得到一个连接所有元素的字符串;连接方式以StringBuilder为基础display("'[' + a.join('][') + ']': " + '[' + a.join('][') + ']'); // [8][2][3][4][5][6];//slice(start,end):取出相应项并反回一个新数组//----返回新数组,不影响旧数组//----包含从下标start开始到下标end-1的元素//----如果省略end则包含从下标start开始至末尾的所有元素//----如果参数为负数,则表示数组的“倒数(从后向前数)”第几个下标(即下标为n+arrar.length)//----如果start元素在end元素之后或相同,则返回空数组display("a.slice(2, 5): " + a.slice(2, 5)); // [3, 4, 5] //取出数组中从下标2至4的项,并返回新数组display("a.slice(2, -2): " + a.slice(2, -2)); // [3, 4]a.display();//splice(start,delectCount,item1,item2,...,itemN)://----最灵活的方法,影响当前数组//----从下标start的元素开始,删除deleteCount个元素,并在肖前start位置开始插入剩余元素//----删除元素:splice(2,1)//----插入元素:splice(2,0,"Hello","World")//----替换元素:splice(2,1,"Hello","World")display("a.splice(3, 2)");a.splice(3, 2);//删除a.display(); // [8, 2, 3, 6]display("a.splice(2, 0, 7, 8)");a.splice(2, 0, 7, 8);//插入a.display(); // [8, 2, 7, 8, 3, 6]display("a.splice(3, 1, 9, 10)");a.splice(3, 1, 9, 10);//替换 a.display(); // [8, 2, 7, 9, 10, 3, 6]//reverse():将数组内所有元素逆转display("a.reverse()");a.reverse();a.display(); // [6, 3, 10, 9, 7, 2, 8]//sort(compareFunction):用于排序数组//----参数为一个方法,用于比较两个元素//----省略了参数则直接使用<,==,>比较两个元素display("a.sort()");a.sort();a.display(); // [10, 2, 3, 6, 7, 8, 9]display("a.sort(function(x, y){ return y - x; });");a.sort(function(x, y){ return y - x; });a.display(); // [10, 9, 8, 7, 6, 3, 2];</script>

 


Microsoft AJAX Library在Array原生类型的扩展

注:要使用扩展需添加ScriptManager控件

 

• Array.enqueue(array, item):
 –“入队列”操作,将item添加至array末尾。
• Array.dequeue(array):
 –“出队列”操作,返回并删除array的第一个元素。
• Array.addRange(array, items):
 – 将items数组中所有元素添加至array末尾。
• Array.contains(array, item):
 – 如果array中包含item元素,则返回true,否则返回 false。
 – Array.clear(array):
 – 清除array中的所有元素。
• Array.insert(array, index, item):
 – 将item插入至array中下标为index的位置。
• Array.remove(array, item):
 – 从array中移除item元素。
• Array.removeAt(array, index):
 – 从array中移除下标为index的元素。
• Array.clone(array):
 – 返回一个与array相同的新数组。
• Array.parse(value):
 – 将表示数组的JSON字符串变为一个数组对象。
• Array.indexOf(array, item, start):
 – 获得item在array中的下标,从下标为start开始查找。 如果array中没有item元素,那么返回-1。
• Array.add(array, item):
 – 将item添加至array末尾,它和Array.enqueue其实是同一个函数。
• Array.forEach(array, method, instance):
 – 以instance为上下文this引用,将array中的每个元 素依次作为参数,循环调用method方法。

 


 

原创粉丝点击