【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方法。
- 【Array类型】JavaScript中的原生对象以及Microsoft AJAX Library中的相关扩展
- 【Object类型】JavaScript中的原生对象以及Microsoft AJAX Library中的相关扩展
- 【Error类型】JavaScript中的原生对象以及Microsoft AJAX Library中的相关扩展
- 【Function类型】JavaScript中的原生对象以及Microsoft AJAX Library中的相关扩展
- 【Boolean类型】JavaScript中的原生对象以及Microsoft AJAX Library中的相关扩展
- 【Number类型】JavaScript中的原生对象以及Microsoft AJAX Library中的相关扩展
- 【Date类型】JavaScript中的原生对象以及Microsoft AJAX Library中的相关扩展
- 【String类型】JavaScript中的原生对象以及Microsoft AJAX Library中的相关扩展
- JavaScript的原生类型以及Microsoft AJAX Library的相关扩展(1)
- JavaScript的原生类型以及Microsoft AJAX Library的相关扩展
- Asp.Net Ajax 学习笔记9 JavaScript的原生类型以及Microsoft AJAX Library的相关扩展(上)
- Asp.Net Ajax 学习笔记10 JavaScript的原生类型以及Microsoft AJAX Library的相关扩展(下)
- Microsoft AJAX Library Cheat Sheet (一)Array类型的扩展
- Microsoft AJAX Library(1)Array类型的扩展
- Asp.Net Ajax 学习笔记11 Microsoft AJAX Library中的面向对象类型系统
- JavaScript javaScript中的Date 以及对原生javaScript的扩展
- JavaScript中的Array类型
- Javascript中的Array对象
- 开放课程
- PowerPC汇编指令集简析-(1)
- c#|winfrom|DataGridView的使用
- CG快报 2011.9.25
- android使用GPS获取位置
- 【Array类型】JavaScript中的原生对象以及Microsoft AJAX Library中的相关扩展
- 普林斯顿体系架构和哈佛架构
- 我写的这个程序有问题,执行时无法输入,程序自动跳过,该怎么解决?
- 飞鸽传书2012 的网络通信代码
- 动态规划 Brackets Sequence poj 1141
- printk日志级别
- Ogre1.7地形浅析
- 再谈javascript图片预加载技术
- 关于Andriod读入CVS或者TXT文件的有关问题