javascript Array 对细介绍
来源:互联网 发布:华为p10移动数据不好使 编辑:程序博客网 时间:2024/05/01 04:20
Array 对象
Array 对象用于在单个的变量中存储多个值。
创建 Array 对象的语法
var tmp = new Array();
//size是期望的数组元素个数
var tmp = new Array(size);
//element..., elementn是参数列表当使用这些参数来调用构造函数 Array() 时,新创建的数组的元素就会被初始化为这些值,它的 length 字段也会被设置为参数的个数
new Array(element0, element1, ..., elementn);
Array 对象属性
length:设置或返回数组中元素的数目。
Array 对象方法
concat() 连接两个或更多的数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本
语法:arrayObject.concat(arrayX,arrayX,......,arrayX); //如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组
实例:var a = [1,2,3]; document.write(a.concat(4,5)); //输出:1,2,3,4,5
var arr = new Array(3); var arr2 = new Array(3);
arr[0] = "George"; arr2[0] = "James";
arr[1] = "John"; arr2[1] = "Adrew";
arr[2] = "Thomas"; arr2[2] = "Martin";
document.write(arr.concat(arr2)); //输出George,John,Thomas,James,Adrew,Martin
join() 用于把数组中的所有元素放入一个字符串,元素是通过指定的分隔符进行分隔的
语法:arrayObject.join(separator); //可选,指定要使用的分隔符,如果省略该参数,则使用逗号作为分隔符。
实例:var tmp = new Array(0,1,2); document.write(tmp.join("|")); //输出0|1|2
pop() 删除数组的最后一个元素,把数组长度减 1,并且返回它删除的元素的值,如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值
语法:arrayObject.pop();
实例:var tmp = new Array('a','b','c');
document.write(tmp.pop() + '|' + tmp.length); //输出 c|2
document.write(tmp.pop() + '|' + tmp.length); //输出 b|1
document.write(tmp.pop() + '|' + tmp.length); //输出 a|0
document.write(tmp.pop() + '|' + tmp.length); //输出 undefined|0
push() 把参数顺序添加到数组的尾部,它直接修改数组,而不是创建一个新的数组,push() 方法和 pop() 方法使用数组提供的先进后出栈的功能
语法:arrayObject.push(newelement1,newelement2,....,newelementX);
实例:var tmp = new Array('a','b','c'); tmp.push('d','e','f'); document.write(tmp.join() + ',' + tmp.length); //输出 a,b,c,d,e,f,6
shift() 删除数组的第一个元素,把数组长度减 1,并且返回它删除的元素的值,如果数组已经为空,则 shift() 不改变数组,并返回 undefined 值
语法:arrayObject.shift();
实例:var tmp = new Array('a','b','c');
document.write(tmp.shift() + '|' + tmp.length); //输出 a|2
document.write(tmp.shift() + '|' + tmp.length); //输出 b|1
document.write(tmp.shift() + '|' + tmp.length); //输出 c|0
document.write(tmp.shift() + '|' + tmp.length); //输出 undefined|0
unshift() 把参数顺序添加到数组的头部,它直接修改数组,而不是创建一个新的数组,unshift() 方法和 shift() 方法使用数组提供的先进先出队列的功能
语法:arrayObject.unshift(newelement1,newelement2,....,newelementX);
实例:var tmp = new Array('a','b','c'); tmp.unshift('d','e','f'); document.write(tmp.join() + ',' + tmp.length); //输出 d,e,f,a,b,c,6
reverse() 用于颠倒数组中元素的顺序
语法:arrayObject.reverse();
实例:var tmp = new Array('a','b','c'); tmp.reverse(); document.write(tmp.join()); //输出 c,b,a
slice() 可从已有的数组中返回选定的元素,不会修改原数组,返回一个新的数组,包含从 start 到 end (不包括该元素)的 已有数组 中的元素
语法:arrayObject.slice();
实例:var tmp = new Array('a','b','c','d'); var tmp1 = tmp.slice(1,3); document.write(tmp1.join()); //输出 b,c
splice() 删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素,请注意,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改
语法:arrayObject.splice(index,howmany,element1,.....,elementX);
//index:规定从何处添加/删除元素
//howmany:规定应该删除多少元素
//element1……elementX:规定要添加到数组的新元素,从 index 所指的下标处开始插入
实例:var tmp = new Array('a','b','c','d','e','f'); tmp.splice(1); document.write(tmp.join()); //输出 a
var tmp = new Array('a','b','c','d','e','f'); tmp.splice(1,2); document.write(tmp.join()); //输出 a,d,e,f
var tmp = new Array('a','b','c','d','e','f'); tmp.splice(1,2,'g','h','i'); document.write(tmp.join()); //输出 a,g,h,i,d,e,f
sort() 调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序,要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
语法:arrayObject.sort(sortby); //sortby必须是函数
实例:var tmp = new Array('a','d','c','b','f','e'); tmp.sort(); document.write(tmp.join()); //输出 a,b,c,d,e,f
function sortby(a,b){
return a - b;
}
var tmp = new Array('1','5','8','2','6','9'); tmp.sort(sortby); document.write(tmp.join()); //输出 1,2,5,6,8,9
function sortby(a,b){
return b - a;
}
var tmp = new Array('1','5','8','2','6','9'); tmp.sort(sortby); document.write(tmp.join()); //输出 9,8,6,5,2,1
toString() 把数组转换为字符串,返回值与没有参数的 join() 方法返回的字符串相同
语法:arrayObject.toString();
实例:var tmp = new Array('1','5','8','2','6','9'); tmp.toString(); document.write(tmp); //输出 1,5,8,2,6,9
toLocaleString() 首先调用每个数组元素的 toLocaleString() 方法,然后使用地区特定的分隔符把生成的字符串连接起来,形成一个字符串
语法:arrayObject.toLocaleString();
实例:var tmp = new Array('1',new Array('5','7','10'),'8','2','6','9'); tmp.toLocaleString(); document.write(tmp); //输出 1,5,7,10,8,2,6,9
toString()和toLocaleString()这两个函数我在测试的时候 输出的结果是一样的,不知道这两个函数有什么区别,不敢乱说 怕误人子弟,希望知道的朋友可以解释一下这两个函数的区别,thanks!- javascript Array 对细介绍
- JavaScript Array对象介绍
- JavaScript的关于Array的方法介绍
- javascript:对Array增加方法造成的坑。
- JavaScript学习 5.2.0 Array类型的介绍
- JavaScript学习之Array(数组对象)方法介绍
- [Javascript Array] Array
- JavaScript-Array & Array like
- JavaScript Array
- javascript array
- JavaScript Array
- javascript Array
- Javascript Array
- javascript array
- javascript Array
- JavaScript Array
- JavaScript:Array
- JavaScript array
- java用enum实现singleton的方法
- poj 1001 java大数类
- javascript Math 对象介绍
- javascript Date 对象介绍
- Java项目经验——程序员成长的关键
- javascript Array 对细介绍
- javascript 回到顶部的效果实现
- Oracle产品线以及近几年的收购路线图
- 今天第一次发博客,纪念一下
- C++中new和delete的用法
- C++拷贝构造函数(深拷贝,浅拷贝)
- javascript document.documentElement和document.body的区别
- Java代码调用RTX发送提醒消息
- javascript 获取iframe里页面中元素的值