第 8 章 对象和数组(对象中的方法)
来源:互联网 发布:淘宝客用小黄鸭上货 编辑:程序博客网 时间:2024/06/05 20:31
转换方法
对象或数组都具有toLocaleString()、toString()和valueOf()方法。
其中toString()和valueOf()无论重写了谁,都会返回相同的值。
数组会讲每个值进行字符串形式的拼接,以逗号隔开 。
var box = ['李炎恢',28,'计算机编程']; //字面量数组
alert(box); //隐式调用了 toString()
alert(box.toString()); //和 valueOf()返回一致
alert(box.toLocaleString()); //返回值和上面两种一致
默认情况下,数组字符串都会以逗号隔开。
如果使用join()方法,则可以使用不同的分隔符来构建这个字符串。
var box = ['李炎恢', 28, '计算机编程'];
alert(box.join('|')); //李炎恢|28|计算机编程
栈方法
ECMAScript数组提供了一种让数组的行为类似于其他数据结构的方法。
也就是说,可以让数组像栈一样,可以限制插入和删除项的数据结构。
栈是一种数据结构(后进先出),也就是说最新添加的元素最早被移除。
而栈中元素的插入(或叫推入)和移除(或叫弹出),只发生在一个位置——栈的顶部。
ECMAScript为数组专门提供了push()和pop()方法。
push()方法可以接收任意数量的参数 ,把它们逐个添加到数组的末尾 ,并返回修改后数组的长度。
而pop()方法则从数组末尾移除最后一个元素,减少数组的length值,然后返回移除的元素。
var box = ['李炎恢', 28, '计算机编程']; //字面量声明
alert(box.push('盐城')); //数组末尾添加一个元素 ,并且返回长度
alert(box); //查看数组
box.pop(); //移除数组末尾元素 ,并返回移除的元素
alert(box); //查看元素
队列方法
栈方法是后进先出 ,而列队方法就是先进先出 。
列队在数组的末端添加元素 ,从数组的前端移除元素。
通过push()向数组末端添加一个元素,然后通过shift()方法从数组前端移除一个元素。
var box = ['李炎恢', 28, '计算机编程']; //字面量声明
alert(box.push('盐城')); //数组末尾添加一个元素 ,并且返回长度
alert(box); //查看数组
alert(box.shift()); //移除数组开头元素 ,并返回移除的元素
alert(box); //查看数组
ECMAScript还为数组提供了一个unshift()方法,它和shift()方法的功能完全相反。
unshift()方法为数组的前端添加一个元素。
var box = ['李炎恢', 28, '计算机编程']; //字面量声明
alert(box.unshift('盐城','江苏')); //数组开头添加两个元素
alert(box); //查看数组
alert(box.pop()); //移除数组末尾元素 ,并返回移除的元素
alert(box); //查看数组
PS:IE浏览器对unshift()方法总是返回undefined而不是数组的新长度。
重排序方法
数组中已经存在两个可以直接用来排序的方法: reverse()和sort()。
reverse()逆向排序
var box = [1,2,3,4,5];
alert(box.reverse());
alert(box);
sort()从小到大排序
var box = [4,1,7,3,9,2]; //数组
alert(box.sort()); //从小到大排序,返回排序后的数组
alert(box); //源数组也被从小到大排序了
sort方法的默认排序在数字排序上有些问题 ,因为数字排序和数字字符串排序的算法是一样的。
我们必须修改这一特征,修改的方式,就是给sort(参数)方法传递一个函数参数。
这点可以参考手册说明。
function compare(value1, value2) { //数字排序的函数参数
if (value1 < value2) {
return -1; //小于,返回负数
} else if (value1 > value2) {
return 1; //大于,返回正数
}
else {
return 0; //其他,返回 0
}
var box = [0,1,5,10,15]; //验证数字字符串,和数字的区别
alert(box.sort(compare)); //传参
PS:如果要反向操作,即从大到小排序,正负颠倒即可。当然,如果要逆序用reverse()更加方便。
- 第 8 章 对象和数组(对象中的方法)
- 第8章 对象和数组
- JavaScript中的数组对象属性和方法!
- 第 8 章 对象和数组(Object 类型)
- 第 8 章 对象和数组(Array类型)
- js 中的数组和对象
- JavaScript中的对象和数组
- JavaScript中的对象和数组
- java中的对象和方法
- QTP中的对象和方法
- javascript 数组对象中的迭代方法
- javascript 数组对象中的迭代方法
- 第8章 对象和类
- C++中的数组和局部静态对象
- C++和java中的对象数组
- Javascript中的函数,数组和对象
- C++中的数组和局部静态对象
- Javascript数组对象的方法和属性
- 263. Ugly Number
- 快排模板
- 使用powerdesigner导入sql文件查看er模型图
- 0007-eclipse+OpenExplore
- android 用火狐浏览器打开数据sqlite数据库的操作方法
- 第 8 章 对象和数组(对象中的方法)
- Android-Universal-Image-Loader异步加载图片框架学习研究
- SQL SERVER中强制类型转换cast和convert的区别
- 【转】珍藏多年的素材,灵感搜寻网站
- kettle脚本模板
- 查找二叉树的C++代码实现
- Android图片处理内存溢出
- Sql操作之二:不同数据库中表数据迁移
- QRCode--根据系统API, 封装二维码扫描