对象和数组的方法
- 均有的方法 toString(),valueOf(),toLocaleString()
举个栗子 var box = ['李炎恢',28,'计算机编程']; //字面量数组
alert(box); //隐式调用了 toString()
alert(box.toString()); //和 valueOf()返回一致
alert(box.toLocaleString());//返回值和上面两种一致
均返回:李炎恢,28,计算机编程
- 数组的方法
- 栈方法 push()
pop()
举个栗子
var box = ['李炎恢', 28, '计算机编程']; //字面量声明
alert(box.push('盐城')); //数组末尾添加一个元素,并且返回长度
alert(box); //查看数组
box.pop(); //移除数组末尾元素,并返回移除的元素
alert(box); //查看元素
- 队列方法
shift()
举个栗子
var box = ['李炎恢', 28, '计算机编程']; //字面量声明
alert(box.push('盐城')); //数组末尾添加一个元素,并且返回长度
alert(box); //查看数组
alert(box.shift()); //移除数组开头元素,并返回移除的元素
alert(box); //查看数组
unshift()
举个栗子
var box = ['李炎恢', 28, '计算机编程'];//字面量声明
alert(box.unshift('盐城','江苏'));//数组开头添加两个元素
alert(box);//查看数组
alert(box.pop());//移除数组末尾元素,并返回移除的元素
alert(box);//查看数组
- 重排序方法 (1)reverse()逆向排序
举个栗子 var box = [1,2,3,4,5];//数组
alert(box.reverse());//逆向排序方法,返回排序后的数
alert(box);//源数组也被逆向排序了,说明是引用
(2)sort()从小到大
举个栗子
var box = [4,1,7,3,9,2];//数组
alert(box.sort());//从小到大排序,返回排序后的数组
alert(box);//源数组也被从小到大排序了
ps注意sort 方法的默认排序在数字排序上有些问题,因为数字排序和数字字符串排序的算法是 一样的。我们必须修改这一特征,修改的方式,就是给 sort(参数)方法传递一个函数参数。
function compare(value1, value2) {//数字排序的函数参数
if (value1 < value2) {//小于,返回负数
return -1;
} else if (value1 > value2) {//大于,返回正数
return 1;
} else {//其他,返回 0
return 0;
}
var box = [0,1,5,10,15]; //验证数字字符串,和数字的区别
alert(box.sort(compare)); //传参
如果要反向操作,即从大到小排序,正负颠倒即可。当然,如果要逆序用 reverse() 更加方便。
- 操作方法 (1)**concat()**方法可以基于当前数组创建一个新数组。
var box = ['李炎恢', 28, '盐城'];//当前数组
var box2 = box.concat('计算机编程'); //创建新数组,并添加新元素
alert(box2); //输出新数组
alert(box); //当前数组没有任何变化
(2)**splice()**方法可以基于当前数组获取指定区域元素并创建一个新数组。 splice()主要用途是向数组的中部插入元素。
a. var box = ['李炎恢', 28, '盐城']; //当前数组
var box2 = box.slice(1); //box.slice(1,3),2-4 之间的元素
alert(box2); //28,盐城
alert(box); //当前数组
b.删除功能
var box = ['李炎恢', 28, '盐城']; //当前数组
var box2 = box.splice(0,2); //截取前两个元素
alert(box2); //返回截取的元素
alert(box); //当前数组被截取的元素被删除
c.插入功能 var box = ['李炎恢', 28, '盐城'];//当前数组
var box2 = box.splice(1,0,'计算机编程','江苏');//没有截取,但插入了两条
alert(box2);//在第 2 个位置插入两条
alert(box);//输出
d.替换功能 var box = ['李炎恢', 28, '盐城']; //当前数组
var box2 = box.splice(1,1,100); //截取了第 2 条,替换成 100
alert(box2); //输出截取的 28
alert(box); //输出数组